Skip to content

Commit 32ad455

Browse files
committed
[InstCombine] Add test cases from PR62898. NFC.
This patch adds some test cases from #62898. As nikic noted in the issue, we should start by implementing a generalization of the fold `smin(X, Y) < Z -> X < Z` when `Y > Z` is implied by constant folds/invariants/dom conditions. ``` define i1 @src(i32 %x, i32 %y, i32 %z) { %cmp = icmp sgt i32 %y, %z br i1 %cmp, label %if, label %end if: %cond = call i32 @llvm.smin.i32(i32 %x, i32 %y) %tobool = icmp slt i32 %cond, %z ret i1 %tobool end: ret i1 false } define i1 @tgt(i32 %x, i32 %y, i32 %z) { %cmp = icmp sgt i32 %y, %z br i1 %cmp, label %if, label %end if: %tobool = icmp slt i32 %x, %z ret i1 %tobool end: ret i1 false } declare i32 @llvm.smin.i32(i32, i32) ``` Alive2: https://alive2.llvm.org/ce/z/dK9vXz This patch also adds some generalized test cases like the above. Reviewed By: goldstein.w.n Differential Revision: https://reviews.llvm.org/D156227
1 parent fd453e2 commit 32ad455

File tree

4 files changed

+2743
-0
lines changed

4 files changed

+2743
-0
lines changed

0 commit comments

Comments
 (0)