[llvm] d196124 - [PredicateInfo] Remove unnecessary EdgeUsesOnly set (NFC) (#144912)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 20 00:16:43 PDT 2025
Author: Nikita Popov
Date: 2025-06-20T09:16:39+02:00
New Revision: d196124dd22391f6c967ed569b34632840536c45
URL: https://github.com/llvm/llvm-project/commit/d196124dd22391f6c967ed569b34632840536c45
DIFF: https://github.com/llvm/llvm-project/commit/d196124dd22391f6c967ed569b34632840536c45.diff
LOG: [PredicateInfo] Remove unnecessary EdgeUsesOnly set (NFC) (#144912)
As far as I can tell, this set is pointless: It just represents whether
the target block has multiple predecessors, and the way it is
constructed and queried, we're not even reducing the number of
getSinglePredecessor() calls or something like that.
Added:
Modified:
llvm/lib/Transforms/Utils/PredicateInfo.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Utils/PredicateInfo.cpp b/llvm/lib/Transforms/Utils/PredicateInfo.cpp
index 4c87babbfb6f3..4a0faab00ccaf 100644
--- a/llvm/lib/Transforms/Utils/PredicateInfo.cpp
+++ b/llvm/lib/Transforms/Utils/PredicateInfo.cpp
@@ -253,10 +253,6 @@ class PredicateInfoBuilder {
// whether it returned a valid result.
DenseMap<Value *, unsigned int> ValueInfoNums;
- // The set of edges along which we can only handle phi uses, due to critical
- // edges.
- DenseSet<std::pair<BasicBlock *, BasicBlock *>> EdgeUsesOnly;
-
ValueInfo &getOrCreateValueInfo(Value *);
const ValueInfo &getValueInfo(Value *) const;
@@ -459,8 +455,6 @@ void PredicateInfoBuilder::processBranch(
PredicateBase *PB =
new PredicateBranch(V, BranchBB, Succ, Cond, TakenEdge);
addInfoFor(OpsToRename, V, PB);
- if (!Succ->getSinglePredecessor())
- EdgeUsesOnly.insert({BranchBB, Succ});
}
}
}
@@ -487,8 +481,6 @@ void PredicateInfoBuilder::processSwitch(
PredicateSwitch *PS = new PredicateSwitch(
Op, SI->getParent(), TargetBlock, C.getCaseValue(), SI);
addInfoFor(OpsToRename, Op, PS);
- if (!TargetBlock->getSinglePredecessor())
- EdgeUsesOnly.insert({BranchBB, TargetBlock});
}
}
}
@@ -637,7 +629,7 @@ void PredicateInfoBuilder::renameUses(SmallVectorImpl<Value *> &OpsToRename) {
// block, and handle it specially. We know that it goes last, and only
// dominate phi uses.
auto BlockEdge = getBlockEdge(PossibleCopy);
- if (EdgeUsesOnly.count(BlockEdge)) {
+ if (!BlockEdge.second->getSinglePredecessor()) {
VD.LocalNum = LN_Last;
auto *DomNode = DT.getNode(BlockEdge.first);
if (DomNode) {
More information about the llvm-commits
mailing list