Fix some unsafe code. Also, tabs -> spaces.
authorOwen Anderson <resistor@mac.com>
Sat, 14 Apr 2007 23:57:00 +0000 (23:57 +0000)
committerOwen Anderson <resistor@mac.com>
Sat, 14 Apr 2007 23:57:00 +0000 (23:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36035 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Dominators.cpp

index da8d36d9021a2c56d8017b54d45af73159b5f66a..0959b07b47a803b67c57ce3acb42ccf1b69e189c 100644 (file)
@@ -929,13 +929,13 @@ ETNode *ETForest::getNodeForBlock(BasicBlock *BB) {
 
   // Haven't calculated this node yet?  Get or calculate the node for the
   // immediate dominator.
-       BasicBlock *IDom = getAnalysis<DominatorTree>().getNode(BB)->getIDom()->getBlock();
+  DominatorTree::Node *node= getAnalysis<DominatorTree>().getNode(BB);
 
   // If we are unreachable, we may not have an immediate dominator.
-  if (!IDom)
+  if (!node || !node->getIDom())
     return BBNode = new ETNode(BB);
   else {
-    ETNode *IDomNode = getNodeForBlock(IDom);
+    ETNode *IDomNode = getNodeForBlock(node->getIDom()->getBlock());
     
     // Add a new tree node for this BasicBlock, and link it as a child of
     // IDomNode
@@ -953,9 +953,9 @@ void ETForest::calculate(const DominatorTree &DT) {
   Function *F = Root->getParent();
   // Loop over all of the reachable blocks in the function...
   for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I) {
-               DominatorTree::Node* node = DT.getNode(I);
+    DominatorTree::Node* node = DT.getNode(I);
     if (node && node->getIDom()) {  // Reachable block.
-                       BasicBlock* ImmDom = node->getIDom()->getBlock();
+      BasicBlock* ImmDom = node->getIDom()->getBlock();
       ETNode *&BBNode = Nodes[I];
       if (!BBNode) {  // Haven't calculated this node yet?
         // Get or calculate the node for the immediate dominator
@@ -967,7 +967,7 @@ void ETForest::calculate(const DominatorTree &DT) {
         BBNode->setFather(IDomNode);
       }
     }
-       }
+  }
 
   // Make sure we've got nodes around for every block
   for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I) {