R600: Initialize AMDGPUMachineFunction::ShaderType to ShaderType::COMPUTE
authorTom Stellard <thomas.stellard@amd.com>
Fri, 26 Apr 2013 18:32:24 +0000 (18:32 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 26 Apr 2013 18:32:24 +0000 (18:32 +0000)
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

lib/Target/R600/AMDGPUMachineFunction.cpp
test/CodeGen/R600/elf.ll

index 0223ec8e4f3f0bd071a9f05c66f148e3c1291864..0461025402997d6a275db391c9d6ad8668c35f5b 100644 (file)
@@ -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);
index dbe3b1f4176027a34bda5ed58fa8343b0cc6b8f9..f460f13d53e0e0f18525ab1ef7d07f176e085965 100644 (file)
@@ -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