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!");
|
|
}
|
|
}
|
|
|
|
}
|