diff options
author | Vincent Lejeune <vljn@ovi.com> | 2013-04-01 21:47:53 +0000 |
---|---|---|
committer | Vincent Lejeune <vljn@ovi.com> | 2013-04-01 21:47:53 +0000 |
commit | ace6f7351eb89f160623aa45af83af5db939d97b (patch) | |
tree | 21a623ccde5d55fce12246991343ea80df16444f /llvm/lib/Target/R600/AMDGPUMachineFunction.cpp | |
parent | f43bc57b665f33759b78eeca5607d331f4429942 (diff) | |
download | bcm5719-llvm-ace6f7351eb89f160623aa45af83af5db939d97b.tar.gz bcm5719-llvm-ace6f7351eb89f160623aa45af83af5db939d97b.zip |
R600/SI: Share code recording ShaderTypeAttribute between generations
llvm-svn: 178504
Diffstat (limited to 'llvm/lib/Target/R600/AMDGPUMachineFunction.cpp')
-rw-r--r-- | llvm/lib/Target/R600/AMDGPUMachineFunction.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp b/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp new file mode 100644 index 00000000000..0223ec8e4f3 --- /dev/null +++ b/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp @@ -0,0 +1,22 @@ +#include "AMDGPUMachineFunction.h" +#include "llvm/IR/Attributes.h" +#include "llvm/IR/Function.h" + +namespace llvm { + +const char *AMDGPUMachineFunction::ShaderTypeAttribute = "ShaderType"; + +AMDGPUMachineFunction::AMDGPUMachineFunction(const MachineFunction &MF) : + MachineFunctionInfo() { + 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!"); + } +} + +} |