From 130f271259bd9ddee7e6a1626a1bb11a6ffdd214 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 13 Feb 2014 23:34:12 +0000 Subject: [PATCH] R600/SI: Completely Disable TypeRewriter on compute git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201369 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/R600/SITypeRewriter.cpp | 6 +++--- test/CodeGen/R600/bitcast.ll | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/Target/R600/SITypeRewriter.cpp b/lib/Target/R600/SITypeRewriter.cpp index b01a44387c9..7de7b1f02c8 100644 --- a/lib/Target/R600/SITypeRewriter.cpp +++ b/lib/Target/R600/SITypeRewriter.cpp @@ -69,11 +69,11 @@ bool SITypeRewriter::runOnFunction(Function &F) { StringRef Str = A.getValueAsString(); Str.getAsInteger(0, ShaderType); } - if (ShaderType != ShaderType::COMPUTE) { - visit(F); - } + if (ShaderType == ShaderType::COMPUTE) + return false; visit(F); + visit(F); return false; } diff --git a/test/CodeGen/R600/bitcast.ll b/test/CodeGen/R600/bitcast.ll index bccc4163857..5bfc0083667 100644 --- a/test/CodeGen/R600/bitcast.ll +++ b/test/CodeGen/R600/bitcast.ll @@ -19,3 +19,12 @@ declare void @llvm.SI.export(i32, i32, i32, i32, i32, float, float, float, float attributes #0 = { "ShaderType"="0" } +; CHECK-LABEL: @i8ptr_v16i8ptr +; CHECK: S_ENDPGM +define void @i8ptr_v16i8ptr(<16 x i8> addrspace(1)* %out, i8 addrspace(1)* %in) { +entry: + %0 = bitcast i8 addrspace(1)* %in to <16 x i8> addrspace(1)* + %1 = load <16 x i8> addrspace(1)* %0 + store <16 x i8> %1, <16 x i8> addrspace(1)* %out + ret void +} -- 2.11.0