aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Analysis/Dominators.h13
-rw-r--r--lib/Transforms/Utils/BreakCriticalEdges.cpp2
-rw-r--r--lib/Transforms/Utils/CodeExtractor.cpp2
-rw-r--r--lib/Transforms/Utils/LoopSimplify.cpp3
4 files changed, 9 insertions, 11 deletions
diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h
index f36afd4a2f..03eab60034 100644
--- a/include/llvm/Analysis/Dominators.h
+++ b/include/llvm/Analysis/Dominators.h
@@ -170,18 +170,17 @@ protected:
// API to update (Post)DominatorTree information based on modifications to
// the CFG...
- /// createNewNode - Add a new node to the dominator tree information. This
- /// creates a new node as a child of IDomNode, linking it into the children
- /// list of the immediate dominator.
- ///
- DomTreeNode *createNewNode(BasicBlock *BB, DomTreeNode *IDomNode) {
+ /// addNewBlock - Add a new node to the dominator tree information. This
+ /// creates a new node as a child of DomBB dominator node,linking it into
+ /// the children list of the immediate dominator.
+ DomTreeNode *addNewBlock(BasicBlock *BB, DomTreeNode *IDomNode) {
assert(getNode(BB) == 0 && "Block already in dominator tree!");
assert(IDomNode && "Not immediate dominator specified for block!");
return DomTreeNodes[BB] = IDomNode->addChild(new DomTreeNode(BB, IDomNode));
}
- void createNewNode(BasicBlock *BB, BasicBlock *DomBB) {
- createNewNode(BB, getNode(DomBB));
+ DomTreeNode *addNewBlock(BasicBlock *BB, BasicBlock *DomBB) {
+ return addNewBlock(BB, getNode(DomBB));
}
/// changeImmediateDominator - This method is used to update the dominator
diff --git a/lib/Transforms/Utils/BreakCriticalEdges.cpp b/lib/Transforms/Utils/BreakCriticalEdges.cpp
index a234b9cc42..707cdf0edc 100644
--- a/lib/Transforms/Utils/BreakCriticalEdges.cpp
+++ b/lib/Transforms/Utils/BreakCriticalEdges.cpp
@@ -209,7 +209,7 @@ bool llvm::SplitCriticalEdge(TerminatorInst *TI, unsigned SuccNum, Pass *P,
// TINode is the immediate dominator for the new node.
//
if (TINode) { // Don't break unreachable code!
- DomTreeNode *NewBBNode = DT->createNewNode(NewBB, TINode);
+ DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, TIBB);
DomTreeNode *DestBBNode = 0;
// If NewBBDominatesDestBB hasn't been computed yet, do so with DT.
diff --git a/lib/Transforms/Utils/CodeExtractor.cpp b/lib/Transforms/Utils/CodeExtractor.cpp
index f0eb6250f7..2e8db5099e 100644
--- a/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/lib/Transforms/Utils/CodeExtractor.cpp
@@ -143,7 +143,7 @@ void CodeExtractor::severSplitPHINodes(BasicBlock *&Header) {
// blocks that dominate TIBB plus the new block itself.
if (EF) {
BasicBlock* idom = EF->getIDom(OldPred);
- DT->createNewNode(NewBB, idom);
+ DT->addNewBlock(NewBB, idom);
EF->addNewBlock(NewBB, idom);
// Additionally, NewBB replaces OldPred as the immediate dominator of blocks
diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp
index f641264f12..71a29bbdc6 100644
--- a/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/lib/Transforms/Utils/LoopSimplify.cpp
@@ -778,10 +778,9 @@ void LoopSimplify::UpdateDomInfoForRevectoredPreds(BasicBlock *NewBB,
}
assert(NewBBIDom && "No immediate dominator found??");
}
- DomTreeNode *NewBBIDomNode = DT->getNode(NewBBIDom);
// Create the new dominator tree node... and set the idom of NewBB.
- DomTreeNode *NewBBNode = DT->createNewNode(NewBB, NewBBIDomNode);
+ DomTreeNode *NewBBNode = DT->addNewBlock(NewBB, NewBBIDom);
// If NewBB strictly dominates other blocks, then it is now the immediate
// dominator of NewBBSucc. Update the dominator tree as appropriate.