mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-28 06:29:45 +00:00
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> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180620 91177308-0d34-0410-b5e6-96231b3b80d8
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!");
|
|
}
|
|
}
|
|
|
|
}
|