summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-07-14 22:39:22 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-07-14 22:39:22 +0000
commitfd78d0c9349fbbc67f67f025bebfba3db0149caf (patch)
tree054f14968a4f0943360843408635f8802f032410 /llvm/test/Transforms
parent7746d9b033b8c80b511b4623b41e859d7b4301cf (diff)
downloadbcm5719-llvm-fd78d0c9349fbbc67f67f025bebfba3db0149caf.tar.gz
bcm5719-llvm-fd78d0c9349fbbc67f67f025bebfba3db0149caf.zip
Look through addrspacecast in GetPointerBaseWithConstantOffset
llvm-svn: 212999
Diffstat (limited to 'llvm/test/Transforms')
-rw-r--r--llvm/test/Transforms/GVN/rle.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/Transforms/GVN/rle.ll b/llvm/test/Transforms/GVN/rle.ll
index 8d289b06997..6aac93e75a7 100644
--- a/llvm/test/Transforms/GVN/rle.ll
+++ b/llvm/test/Transforms/GVN/rle.ll
@@ -318,6 +318,19 @@ define i8 @coerce_offset0(i32 %V, i32* %P) {
; CHECK: ret i8
}
+define i8 @coerce_offset0_addrspacecast(i32 %V, i32* %P) {
+ store i32 %V, i32* %P
+
+ %P2 = addrspacecast i32* %P to i8 addrspace(1)*
+ %P3 = getelementptr i8 addrspace(1)* %P2, i32 2
+
+ %A = load i8 addrspace(1)* %P3
+ ret i8 %A
+; CHECK-LABEL: @coerce_offset0_addrspacecast(
+; CHECK-NOT: load
+; CHECK: ret i8
+}
+
;; non-local i32/float -> i8 load forwarding.
define i8 @coerce_offset_nonlocal0(i32* %P, i1 %cond) {
%P2 = bitcast i32* %P to float*
OpenPOWER on IntegriCloud