Skip to content

Commit cd6e6be

Browse files
committed
Add test
1 parent f04ae1f commit cd6e6be

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

llvm/test/Transforms/InstCombine/ptr-int-cast.ll

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,18 @@ define <4 x ptr> @test7(<4 x i128> %arg) nounwind {
8686
%p1 = inttoptr <4 x i128> %arg to <4 x ptr>
8787
ret <4 x ptr> %p1
8888
}
89+
90+
define i64 @ptrtoint_gep_sub(ptr %ptr, i64 %end.addr) {
91+
; CHECK-LABEL: @ptrtoint_gep_sub(
92+
; CHECK-NEXT: [[PTR_ADDR:%.*]] = ptrtoint ptr [[PTR:%.*]] to i64
93+
; CHECK-NEXT: [[SIZE:%.*]] = sub i64 [[END_ADDR1:%.*]], [[PTR_ADDR]]
94+
; CHECK-NEXT: [[END:%.*]] = getelementptr i8, ptr [[PTR]], i64 [[SIZE]]
95+
; CHECK-NEXT: [[END_ADDR:%.*]] = ptrtoint ptr [[END]] to i64
96+
; CHECK-NEXT: ret i64 [[END_ADDR]]
97+
;
98+
%ptr.addr = ptrtoint ptr %ptr to i64
99+
%size = sub i64 %end.addr, %ptr.addr
100+
%end = getelementptr i8, ptr %ptr, i64 %size
101+
%end.addr2 = ptrtoint ptr %end to i64
102+
ret i64 %end.addr2
103+
}

0 commit comments

Comments
 (0)