File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff 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+ }
You can’t perform that action at this time.
0 commit comments