diff options
author | Stephen Hines <srhines@google.com> | 2015-04-01 18:49:24 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-04-01 18:49:26 +0000 |
commit | 3fa16bd6062e23bcdb82ed4dd965674792e6b761 (patch) | |
tree | 9348fc507292f7e8715d22d64ce5a32131b4f875 /test/Transforms/InstCombine/cast_ptr.ll | |
parent | beed47390a60f6f0c77532b3d3f76bb47ef49423 (diff) | |
parent | ebe69fe11e48d322045d5949c83283927a0d790b (diff) | |
download | external_llvm-3fa16bd6062e23bcdb82ed4dd965674792e6b761.zip external_llvm-3fa16bd6062e23bcdb82ed4dd965674792e6b761.tar.gz external_llvm-3fa16bd6062e23bcdb82ed4dd965674792e6b761.tar.bz2 |
Merge "Update aosp/master LLVM for rebase to r230699."
Diffstat (limited to 'test/Transforms/InstCombine/cast_ptr.ll')
-rw-r--r-- | test/Transforms/InstCombine/cast_ptr.ll | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/test/Transforms/InstCombine/cast_ptr.ll b/test/Transforms/InstCombine/cast_ptr.ll index 23006a8..cc7a2bf 100644 --- a/test/Transforms/InstCombine/cast_ptr.ll +++ b/test/Transforms/InstCombine/cast_ptr.ll @@ -3,6 +3,8 @@ target datalayout = "p:32:32-p1:32:32-p2:16:16" +@global = global i8 0 + ; This shouldn't convert to getelementptr because the relationship ; between the arithmetic and the layout of allocated memory is ; entirely unknown. @@ -47,10 +49,29 @@ define i1 @test2_as2_larger(i8 addrspace(2)* %a, i8 addrspace(2)* %b) { ret i1 %r } +; These casts should not be folded away. +; CHECK-LABEL: @test2_diff_as +; CHECK: icmp sge i32 %i0, %i1 +define i1 @test2_diff_as(i8* %p, i8 addrspace(1)* %q) { + %i0 = ptrtoint i8* %p to i32 + %i1 = ptrtoint i8 addrspace(1)* %q to i32 + %r0 = icmp sge i32 %i0, %i1 + ret i1 %r0 +} + +; These casts should not be folded away. +; CHECK-LABEL: @test2_diff_as_global +; CHECK: icmp sge i32 %i1 +define i1 @test2_diff_as_global(i8 addrspace(1)* %q) { + %i0 = ptrtoint i8* @global to i32 + %i1 = ptrtoint i8 addrspace(1)* %q to i32 + %r0 = icmp sge i32 %i1, %i0 + ret i1 %r0 +} + ; These casts should also be folded away. ; CHECK-LABEL: @test3( ; CHECK: icmp eq i8* %a, @global -@global = global i8 0 define i1 @test3(i8* %a) { %tmpa = ptrtoint i8* %a to i32 %r = icmp eq i32 %tmpa, ptrtoint (i8* @global to i32) |