[llvm] [NFC][InstCombine] fix duplicate `CreateNot` in ((A^C)^B) & (B^A) fold (PR #197163)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 12 04:56:27 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Iris Shi (el-ev)
<details>
<summary>Changes</summary>
It obviously should use the `NotC` created 4 lines above
---
Full diff: https://github.com/llvm/llvm-project/pull/197163.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 c9f2418fae6fd..5f9fecc7c5675 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -2754,7 +2754,7 @@ Instruction *InstCombinerImpl::visitAnd(BinaryOperator &I) {
? Builder.CreateNot(C)
: getFreelyInverted(C, C->hasOneUse(), &Builder);
if (NotC != nullptr)
- return BinaryOperator::CreateAnd(Op1, Builder.CreateNot(C));
+ return BinaryOperator::CreateAnd(Op1, NotC);
}
// (A | B) & (~A ^ B) -> A & B
``````````
</details>
https://github.com/llvm/llvm-project/pull/197163
More information about the llvm-commits
mailing list