mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-22 20:43:44 +02:00
de2ad0a8f1
We need to intialize this to something and since clang does not set the shader type attribute and clang is used only for compute shaders, initializing it to COMPUTE seems like the best choice. Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 180620
25 lines
695 B
C++
25 lines
695 B
C++
#include "AMDGPUMachineFunction.h"
|
|
#include "AMDGPU.h"
|
|
#include "llvm/IR/Attributes.h"
|
|
#include "llvm/IR/Function.h"
|
|
|
|
namespace llvm {
|
|
|
|
const char *AMDGPUMachineFunction::ShaderTypeAttribute = "ShaderType";
|
|
|
|
AMDGPUMachineFunction::AMDGPUMachineFunction(const MachineFunction &MF) :
|
|
MachineFunctionInfo() {
|
|
ShaderType = ShaderType::COMPUTE;
|
|
AttributeSet Set = MF.getFunction()->getAttributes();
|
|
Attribute A = Set.getAttribute(AttributeSet::FunctionIndex,
|
|
ShaderTypeAttribute);
|
|
|
|
if (A.isStringAttribute()) {
|
|
StringRef Str = A.getValueAsString();
|
|
if (Str.getAsInteger(0, ShaderType))
|
|
llvm_unreachable("Can't parse shader type!");
|
|
}
|
|
}
|
|
|
|
}
|