Skip to content

Commit 07a545f

Browse files
committed
[CVP] Add pre-commit tests. NFC.
1 parent e776484 commit 07a545f

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,3 +630,41 @@ define i64 @test_shl_nsw_at_use(i64 noundef %x) {
630630
%res = select i1 %cmp, i64 %shr, i64 0
631631
ret i64 %res
632632
}
633+
634+
define i1 @test_icmp_mod(i64 noundef %x) {
635+
; CHECK-LABEL: @test_icmp_mod(
636+
; CHECK-NEXT: entry:
637+
; CHECK-NEXT: [[REM:%.*]] = srem i64 [[X:%.*]], 86400
638+
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i64 [[REM]], 0
639+
; CHECK-NEXT: [[COND:%.*]] = select i1 [[CMP]], i64 86400, i64 0
640+
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[COND]], [[REM]]
641+
; CHECK-NEXT: [[CMP1:%.*]] = icmp ugt i64 [[ADD]], 86399
642+
; CHECK-NEXT: ret i1 [[CMP1]]
643+
;
644+
entry:
645+
%rem = srem i64 %x, 86400
646+
%cmp = icmp slt i64 %rem, 0
647+
%cond = select i1 %cmp, i64 86400, i64 0
648+
%add = add nsw i64 %cond, %rem
649+
%cmp1 = icmp ugt i64 %add, 86399
650+
ret i1 %cmp1
651+
}
652+
653+
define i1 @test_icmp_mod_undef(i64 %x) {
654+
; CHECK-LABEL: @test_icmp_mod_undef(
655+
; CHECK-NEXT: entry:
656+
; CHECK-NEXT: [[REM:%.*]] = srem i64 [[X:%.*]], 86400
657+
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i64 [[REM]], 0
658+
; CHECK-NEXT: [[COND:%.*]] = select i1 [[CMP]], i64 86400, i64 0
659+
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[COND]], [[REM]]
660+
; CHECK-NEXT: [[CMP1:%.*]] = icmp ugt i64 [[ADD]], 86399
661+
; CHECK-NEXT: ret i1 [[CMP1]]
662+
;
663+
entry:
664+
%rem = srem i64 %x, 86400
665+
%cmp = icmp slt i64 %rem, 0
666+
%cond = select i1 %cmp, i64 86400, i64 0
667+
%add = add nsw i64 %cond, %rem
668+
%cmp1 = icmp ugt i64 %add, 86399
669+
ret i1 %cmp1
670+
}

0 commit comments

Comments
 (0)