Skip to content

Commit 6d8d9fc

Browse files
committed
[InstCombine] Add test for icmp of pointers with known bits (NFC)
1 parent c3c2e1e commit 6d8d9fc

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

llvm/test/Transforms/InstCombine/icmp-gep.ll

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,3 +580,25 @@ define i1 @gep_nusw(ptr %p, i64 %a, i64 %b, i64 %c, i64 %d) {
580580
%cmp = icmp eq ptr %gep1, %gep2
581581
ret i1 %cmp
582582
}
583+
584+
define i1 @pointer_icmp_aligned_with_offset(ptr align 8 %a, ptr align 8 %a2) {
585+
; CHECK-LABEL: @pointer_icmp_aligned_with_offset(
586+
; CHECK-NEXT: [[GEP:%.*]] = getelementptr i8, ptr [[A:%.*]], i64 4
587+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr [[GEP]], [[A2:%.*]]
588+
; CHECK-NEXT: ret i1 [[CMP]]
589+
;
590+
%gep = getelementptr i8, ptr %a, i64 4
591+
%cmp = icmp eq ptr %gep, %a2
592+
ret i1 %cmp
593+
}
594+
595+
define i1 @pointer_icmp_aligned_with_offset_negative(ptr align 8 %a, ptr align 8 %a2) {
596+
; CHECK-LABEL: @pointer_icmp_aligned_with_offset_negative(
597+
; CHECK-NEXT: [[GEP:%.*]] = getelementptr i8, ptr [[A:%.*]], i64 8
598+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq ptr [[GEP]], [[A2:%.*]]
599+
; CHECK-NEXT: ret i1 [[CMP]]
600+
;
601+
%gep = getelementptr i8, ptr %a, i64 8
602+
%cmp = icmp eq ptr %gep, %a2
603+
ret i1 %cmp
604+
}

0 commit comments

Comments
 (0)