diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-07-14 22:39:22 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-07-14 22:39:22 +0000 |
| commit | fd78d0c9349fbbc67f67f025bebfba3db0149caf (patch) | |
| tree | 054f14968a4f0943360843408635f8802f032410 /llvm/test/Transforms | |
| parent | 7746d9b033b8c80b511b4623b41e859d7b4301cf (diff) | |
| download | bcm5719-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.ll | 13 |
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* |

