From 1df59ef1aa271a4e33cf8973e14bcaf55c585231 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 3 Oct 2013 18:15:57 +0000 Subject: Make gep i8* X, -(ptrtoint Y) transform work with address spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191920 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/getelementptr.ll | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test/Transforms/InstCombine/getelementptr.ll') diff --git a/test/Transforms/InstCombine/getelementptr.ll b/test/Transforms/InstCombine/getelementptr.ll index 191a151b6b..c29a7dccb8 100644 --- a/test/Transforms/InstCombine/getelementptr.ll +++ b/test/Transforms/InstCombine/getelementptr.ll @@ -776,4 +776,17 @@ define i64 @test40() { ; CHECK-NEXT: ret i64 8 } +define i16 @test41([3 x i32] addrspace(1)* %array) { + %gep = getelementptr inbounds [3 x i32] addrspace(1)* %array, i16 0, i16 2 + %gepi8 = bitcast i32 addrspace(1)* %gep to i8 addrspace(1)* + %p = ptrtoint [3 x i32] addrspace(1)* %array to i16 + %np = sub i16 0, %p + %gep2 = getelementptr i8 addrspace(1)* %gepi8, i16 %np + %ret = ptrtoint i8 addrspace(1)* %gep2 to i16 + ret i16 %ret + +; CHECK-LABEL: @test41( +; CHECK-NEXT: ret i16 8 +} + ; CHECK: attributes [[NUW]] = { nounwind } -- cgit v1.2.3