[llvm] [InstCombine] Create Icmp in canonical form (NFC) (PR #146266)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 29 03:38:28 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Andreas Jonson (andjo403)
<details>
<summary>Changes</summary>
Noticed that this Icmp was not created in canonical form and as the pred is either EQ or NE it is easy to move the constant to the RHS.
---
Full diff: https://github.com/llvm/llvm-project/pull/146266.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (+1-1)
``````````diff
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index dce695a036006..dd16cfaeecd45 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -681,7 +681,7 @@ static Value *foldLogOpOfMaskedICmps(Value *LHS, Value *RHS, bool IsAnd,
}
Value *NewAnd = Builder.CreateAnd(A, BD);
Value *CEVal = ConstantInt::get(A->getType(), CE);
- return Builder.CreateICmp(CC, CEVal, NewAnd);
+ return Builder.CreateICmp(CC, NewAnd, CEVal);
};
if (Mask & BMask_Mixed)
``````````
</details>
https://github.com/llvm/llvm-project/pull/146266
More information about the llvm-commits
mailing list