[llvm] 252bc2b - [MachineLICM] Simplify code and avoid adding nullptr values to ParentMap. NFC
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 15 01:24:06 PDT 2022
Author: Fangrui Song
Date: 2022-03-15T01:24:01-07:00
New Revision: 252bc2b9f549a35abda6949de8c49927b8c28b7c
URL: https://github.com/llvm/llvm-project/commit/252bc2b9f549a35abda6949de8c49927b8c28b7c
DIFF: https://github.com/llvm/llvm-project/commit/252bc2b9f549a35abda6949de8c49927b8c28b7c.diff
LOG: [MachineLICM] Simplify code and avoid adding nullptr values to ParentMap. NFC
Added:
Modified:
llvm/lib/CodeGen/MachineLICM.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/MachineLICM.cpp b/llvm/lib/CodeGen/MachineLICM.cpp
index 145cd4c84c20e..00d75f8231c76 100644
--- a/llvm/lib/CodeGen/MachineLICM.cpp
+++ b/llvm/lib/CodeGen/MachineLICM.cpp
@@ -240,7 +240,7 @@ namespace {
void ExitScopeIfDone(
MachineDomTreeNode *Node,
DenseMap<MachineDomTreeNode *, unsigned> &OpenChildren,
- DenseMap<MachineDomTreeNode *, MachineDomTreeNode *> &ParentMap);
+ const DenseMap<MachineDomTreeNode *, MachineDomTreeNode *> &ParentMap);
void HoistOutOfLoop(MachineDomTreeNode *HeaderN);
@@ -696,19 +696,16 @@ void MachineLICMBase::ExitScope(MachineBasicBlock *MBB) {
/// destroy ancestors which are now done.
void MachineLICMBase::ExitScopeIfDone(MachineDomTreeNode *Node,
DenseMap<MachineDomTreeNode*, unsigned> &OpenChildren,
- DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> &ParentMap) {
+ const DenseMap<MachineDomTreeNode*, MachineDomTreeNode*> &ParentMap) {
if (OpenChildren[Node])
return;
- // Pop scope.
- ExitScope(Node->getBlock());
-
- // Now traverse upwards to pop ancestors whose offsprings are all done.
- while (MachineDomTreeNode *Parent = ParentMap[Node]) {
- unsigned Left = --OpenChildren[Parent];
- if (Left != 0)
+ for(;;) {
+ ExitScope(Node->getBlock());
+ // Now traverse upwards to pop ancestors whose offsprings are all done.
+ MachineDomTreeNode *Parent = ParentMap.lookup(Node);
+ if (!Parent || --OpenChildren[Parent] != 0)
break;
- ExitScope(Parent->getBlock());
Node = Parent;
}
}
More information about the llvm-commits
mailing list