[llvm] afc21c7 - [ControlHeightReduction] Simplify addToMergedCondition() (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Fri May 13 06:30:22 PDT 2022
Author: Nikita Popov
Date: 2022-05-13T15:30:09+02:00
New Revision: afc21c7e7970854dc7290f2461aa0e830510b798
URL: https://github.com/llvm/llvm-project/commit/afc21c7e7970854dc7290f2461aa0e830510b798
DIFF: https://github.com/llvm/llvm-project/commit/afc21c7e7970854dc7290f2461aa0e830510b798.diff
LOG: [ControlHeightReduction] Simplify addToMergedCondition() (NFC)
Added:
Modified:
llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp b/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
index 9f3f2d6a07e52..6ee0468d42f0f 100644
--- a/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
+++ b/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
@@ -1962,28 +1962,19 @@ void CHR::fixupSelect(SelectInst *SI, CHRScope *Scope,
// A helper for fixupBranch/fixupSelect. Add a branch condition to the merged
// condition.
void CHR::addToMergedCondition(bool IsTrueBiased, Value *Cond,
- Instruction *BranchOrSelect,
- CHRScope *Scope,
- IRBuilder<> &IRB,
- Value *&MergedCondition) {
- if (IsTrueBiased) {
- MergedCondition = IRB.CreateAnd(MergedCondition, Cond);
- } else {
+ Instruction *BranchOrSelect, CHRScope *Scope,
+ IRBuilder<> &IRB, Value *&MergedCondition) {
+ if (!IsTrueBiased) {
// If Cond is an icmp and all users of V except for BranchOrSelect is a
// branch, negate the icmp predicate and swap the branch targets and avoid
// inserting an Xor to negate Cond.
- bool Done = false;
- if (auto *ICmp = dyn_cast<ICmpInst>(Cond))
- if (negateICmpIfUsedByBranchOrSelectOnly(ICmp, BranchOrSelect, Scope)) {
- MergedCondition = IRB.CreateAnd(MergedCondition, Cond);
- Done = true;
- }
- if (!Done) {
- Value *Negate = IRB.CreateXor(
- ConstantInt::getTrue(F.getContext()), Cond);
- MergedCondition = IRB.CreateAnd(MergedCondition, Negate);
- }
+ auto *ICmp = dyn_cast<ICmpInst>(Cond);
+ if (!ICmp ||
+ !negateICmpIfUsedByBranchOrSelectOnly(ICmp, BranchOrSelect, Scope))
+ Cond = IRB.CreateXor(ConstantInt::getTrue(F.getContext()), Cond);
}
+
+ MergedCondition = IRB.CreateAnd(MergedCondition, Cond);
}
void CHR::transformScopes(SmallVectorImpl<CHRScope *> &CHRScopes) {
More information about the llvm-commits
mailing list