diff --git a/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp b/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp index 0223ec8e4f3f..046102540299 100644 --- a/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp +++ b/llvm/lib/Target/R600/AMDGPUMachineFunction.cpp @@ -1,4 +1,5 @@ #include "AMDGPUMachineFunction.h" +#include "AMDGPU.h" #include "llvm/IR/Attributes.h" #include "llvm/IR/Function.h" @@ -8,6 +9,7 @@ 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); diff --git a/llvm/test/CodeGen/R600/elf.ll b/llvm/test/CodeGen/R600/elf.ll index dbe3b1f41760..f460f13d53e0 100644 --- a/llvm/test/CodeGen/R600/elf.ll +++ b/llvm/test/CodeGen/R600/elf.ll @@ -8,7 +8,7 @@ ; CONFIG-CHECK: .section .AMDGPU.config ; CONFIG-CHECK-NEXT: .long 45096 ; CONFIG-CHECK-NEXT: .long 0 -define void @test(i32 %p) { +define void @test(i32 %p) #0 { %i = add i32 %p, 2 %r = bitcast i32 %i to float call void @llvm.SI.export(i32 15, i32 0, i32 1, i32 12, i32 0, float %r, float %r, float %r, float %r) @@ -16,3 +16,5 @@ define void @test(i32 %p) { } declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float) + +attributes #0 = { "ShaderType"="0" } ; Pixel Shader