[llvm] [InstCombine] Fold redundant FP clamp selects; relax min-max-pattern bailout in visitFCmp (PR #173452)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 25 06:57:53 PST 2025
dtcxzyw wrote:
> INSTCOMBINE ITERATION #1 on test_select_fcmp_sitofp_max
ADD: ret float %sel
ADD: %sel = select i1 %cmp, float -1.280000e+02, float %f
ADD: %cmp = fcmp ole float %f, -1.280000e+02
ADD: %f = sitofp i8 %x to float
IC: Visiting: %f = sitofp i8 %x to float
IC: Visiting: %cmp = fcmp ole float %f, -1.280000e+02
IC: Old = %cmp = fcmp ole float %f, -1.280000e+02
New = <badref> = icmp sle i8 %x, -128
ADD: %cmp = icmp sle i8 %x, -128
IC: ERASE %1 = fcmp ole float %f, -1.280000e+02
ADD DEFERRED: %f = sitofp i8 %x to float
ADD DEFERRED: %sel = select i1 %cmp, float -1.280000e+02, float %f
ADD: %f = sitofp i8 %x to float
IC: Visiting: %f = sitofp i8 %x to float
IC: Visiting: %cmp = icmp sle i8 %x, -128
IC: Old = %cmp = icmp sle i8 %x, -128
New = <badref> = icmp slt i8 %x, -127
ADD: %cmp = icmp slt i8 %x, -127
IC: ERASE %1 = icmp sle i8 %x, -128
IC: Visiting: %cmp = icmp slt i8 %x, -127
IC: Old = %cmp = icmp slt i8 %x, -127
New = <badref> = icmp eq i8 %x, -128
ADD: %cmp = icmp eq i8 %x, -128
IC: ERASE %1 = icmp slt i8 %x, -127
IC: Visiting: %cmp = icmp eq i8 %x, -128
IC: Visiting: %sel = select i1 %cmp, float -1.280000e+02, float %f
IC: Replacing %sel = select i1 %cmp, float -1.280000e+02, float %f
with %f = sitofp i8 %x to float
https://github.com/llvm/llvm-project/pull/173452
More information about the llvm-commits
mailing list