summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-04-26 18:32:24 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-04-26 18:32:24 +0000
commit99d8179a9b99a6757381e12abdd5357eb537466f (patch)
tree78648d57f8cf0ed977f3cd45a101eea30408fad5
parent2cab9ba7b3a08360bc73543a057bc27980321bc6 (diff)
downloadllvm-99d8179a9b99a6757381e12abdd5357eb537466f.tar.gz
llvm-99d8179a9b99a6757381e12abdd5357eb537466f.tar.bz2
llvm-99d8179a9b99a6757381e12abdd5357eb537466f.tar.xz
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 <christian.koenig@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180620 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/R600/AMDGPUMachineFunction.cpp2
-rw-r--r--test/CodeGen/R600/elf.ll4
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/Target/R600/AMDGPUMachineFunction.cpp b/lib/Target/R600/AMDGPUMachineFunction.cpp
index 0223ec8e4f..0461025402 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 dbe3b1f417..f460f13d53 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