[llvm] [InstCombine] Canonicalize `max(min(X, MinC), MaxC) -> min(max(X, MaxC), MinC)` (PR #136665)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Apr 22 06:36:37 PDT 2025
================
@@ -1924,6 +1924,29 @@ Instruction *InstCombinerImpl::visitCallInst(CallInst &CI) {
}
}
+ // smax(smin(X, MinC), MaxC) -> smin(smax(X, MaxC), MinC) if MinC s>= MaxC
+ // umax(umin(X, MinC), MaxC) -> umin(umax(X, MaxC), MinC) if MinC u>= MaxC
+ const APInt *MinC, *MaxC;
+ auto CreateTransposedMaxMin = [&](bool IsSigned) {
----------------
el-ev wrote:
Maybe I should call it `Canonizalize` straight
https://github.com/llvm/llvm-project/pull/136665
More information about the llvm-commits
mailing list