Skip to content

Commit 7cbdb1e

Browse files
committed
[test] Precommit some tests for invariant group icmps
1 parent 985b48f commit 7cbdb1e

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

llvm/test/Transforms/InstCombine/invariant.group.ll

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,34 @@ define i16 addrspace(42)* @skipWithDifferentTypesDifferentAddrspace(i8* %a) {
159159
ret i16 addrspace(42)* %a3
160160
}
161161

162+
define i1 @icmp1(i8* %a) {
163+
; CHECK-LABEL: @icmp1(
164+
; CHECK-NEXT: [[A2:%.*]] = call i8* @llvm.launder.invariant.group.p0i8(i8* [[A:%.*]])
165+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* [[A]])
166+
; CHECK-NEXT: [[R:%.*]] = icmp eq i8* [[A2]], [[TMP1]]
167+
; CHECK-NEXT: ret i1 [[R]]
168+
;
169+
%a2 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
170+
%a3 = call i8* @llvm.strip.invariant.group.p0i8(i8* %a2)
171+
%r = icmp eq i8* %a2, %a3
172+
ret i1 %r
173+
}
174+
175+
define i1 @icmp2(i8* %a, i8* %b) {
176+
; CHECK-LABEL: @icmp2(
177+
; CHECK-NEXT: [[TMP1:%.*]] = call i8* @llvm.strip.invariant.group.p0i8(i8* [[A:%.*]])
178+
; CHECK-NEXT: [[TMP2:%.*]] = call i8* @llvm.launder.invariant.group.p0i8(i8* [[B:%.*]])
179+
; CHECK-NEXT: [[R:%.*]] = icmp eq i8* [[TMP1]], [[TMP2]]
180+
; CHECK-NEXT: ret i1 [[R]]
181+
;
182+
%a2 = call i8* @llvm.launder.invariant.group.p0i8(i8* %a)
183+
%a3 = call i8* @llvm.strip.invariant.group.p0i8(i8* %a2)
184+
%b2 = call i8* @llvm.strip.invariant.group.p0i8(i8* %b)
185+
%b3 = call i8* @llvm.launder.invariant.group.p0i8(i8* %b2)
186+
%r = icmp eq i8* %a3, %b3
187+
ret i1 %r
188+
}
189+
162190
declare i8* @llvm.launder.invariant.group.p0i8(i8*)
163191
declare i8 addrspace(42)* @llvm.launder.invariant.group.p42i8(i8 addrspace(42)*)
164192
declare i8* @llvm.strip.invariant.group.p0i8(i8*)

0 commit comments

Comments
 (0)