From: Tom Stellard Date: Fri, 26 Apr 2013 18:32:24 +0000 (+0000) Subject: R600: Initialize AMDGPUMachineFunction::ShaderType to ShaderType::COMPUTE X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=99d8179a9b99a6757381e12abdd5357eb537466f;p=oota-llvm.git R600: Initialize AMDGPUMachineFunction::ShaderType to ShaderType::COMPUTE 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180620 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/R600/AMDGPUMachineFunction.cpp b/lib/Target/R600/AMDGPUMachineFunction.cpp index 0223ec8e4f3..04610254029 100644 --- a/lib/Target/R600/AMDGPUMachineFunction.cpp +++ b/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/test/CodeGen/R600/elf.ll b/test/CodeGen/R600/elf.ll index dbe3b1f4176..f460f13d53e 100644 --- a/test/CodeGen/R600/elf.ll +++ b/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