Skip to content

Commit 7177f67

Browse files
committed
[InstCombine] Add pre-commit tests. NFC.
1 parent 5c39b8d commit 7177f67

File tree

1 file changed

+47
-0
lines changed
  • llvm/test/Transforms/InstCombine

1 file changed

+47
-0
lines changed

llvm/test/Transforms/InstCombine/icmp.ll

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,53 @@ define i1 @test46(i32 %X, i32 %Y, i32 %Z) {
815815
ret i1 %C
816816
}
817817

818+
define i1 @test46_multiuse1(i32 %X, i32 %Y, i32 %Z) {
819+
; CHECK-LABEL: @test46_multiuse1(
820+
; CHECK-NEXT: [[A:%.*]] = ashr exact i32 [[X:%.*]], [[Z:%.*]]
821+
; CHECK-NEXT: call void @use_i32(i32 [[A]])
822+
; CHECK-NEXT: [[B:%.*]] = ashr exact i32 [[Y:%.*]], [[Z]]
823+
; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[A]], [[B]]
824+
; CHECK-NEXT: ret i1 [[C]]
825+
;
826+
%A = ashr exact i32 %X, %Z
827+
call void @use_i32(i32 %A)
828+
%B = ashr exact i32 %Y, %Z
829+
%C = icmp ult i32 %A, %B
830+
ret i1 %C
831+
}
832+
833+
define i1 @test46_multiuse2(i32 %X, i32 %Y, i32 %Z) {
834+
; CHECK-LABEL: @test46_multiuse2(
835+
; CHECK-NEXT: [[A:%.*]] = ashr exact i32 [[X:%.*]], [[Z:%.*]]
836+
; CHECK-NEXT: [[B:%.*]] = ashr exact i32 [[Y:%.*]], [[Z]]
837+
; CHECK-NEXT: call void @use_i32(i32 [[B]])
838+
; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[A]], [[B]]
839+
; CHECK-NEXT: ret i1 [[C]]
840+
;
841+
%A = ashr exact i32 %X, %Z
842+
%B = ashr exact i32 %Y, %Z
843+
call void @use_i32(i32 %B)
844+
%C = icmp ult i32 %A, %B
845+
ret i1 %C
846+
}
847+
848+
define i1 @test46_multiuse3(i32 %X, i32 %Y, i32 %Z) {
849+
; CHECK-LABEL: @test46_multiuse3(
850+
; CHECK-NEXT: [[A:%.*]] = ashr exact i32 [[X:%.*]], [[Z:%.*]]
851+
; CHECK-NEXT: call void @use_i32(i32 [[A]])
852+
; CHECK-NEXT: [[B:%.*]] = ashr exact i32 [[Y:%.*]], [[Z]]
853+
; CHECK-NEXT: call void @use_i32(i32 [[B]])
854+
; CHECK-NEXT: [[C:%.*]] = icmp ult i32 [[A]], [[B]]
855+
; CHECK-NEXT: ret i1 [[C]]
856+
;
857+
%A = ashr exact i32 %X, %Z
858+
call void @use_i32(i32 %A)
859+
%B = ashr exact i32 %Y, %Z
860+
call void @use_i32(i32 %B)
861+
%C = icmp ult i32 %A, %B
862+
ret i1 %C
863+
}
864+
818865
; PR9343 #5
819866
define i1 @test47(i32 %X, i32 %Y, i32 %Z) {
820867
; CHECK-LABEL: @test47(

0 commit comments

Comments
 (0)