Remove outdated references to dominance frontiers.
authorCameron Zwarich <zwarich@apple.com>
Tue, 18 Jan 2011 03:53:26 +0000 (03:53 +0000)
committerCameron Zwarich <zwarich@apple.com>
Tue, 18 Jan 2011 03:53:26 +0000 (03:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123724 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/InitializePasses.h
include/llvm/Transforms/Scalar.h
lib/Transforms/Scalar/Scalar.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Utils/Mem2Reg.cpp
lib/Transforms/Utils/PromoteMemoryToRegister.cpp

index 6c5fc89e1d4a533fe6abdd52ec8cc83a471611af..8aeb1c2b981c257c2aa66e60783c6799ecdb3c23 100644 (file)
@@ -192,7 +192,7 @@ void initializeRegisterCoalescerAnalysisGroup(PassRegistry&);
 void initializeRenderMachineFunctionPass(PassRegistry&);
 void initializeSCCPPass(PassRegistry&);
 void initializeSRETPromotionPass(PassRegistry&);
-void initializeSROA_DFPass(PassRegistry&);
+void initializeSROA_DTPass(PassRegistry&);
 void initializeSROA_SSAUpPass(PassRegistry&);
 void initializeScalarEvolutionAliasAnalysisPass(PassRegistry&);
 void initializeScalarEvolutionPass(PassRegistry&);
index 9a87eab3fee2d08307adc7f813ef44cabd3a4dd6..6f2a38e5840cd63c7d740acb6342b63c886e10b7 100644 (file)
@@ -74,7 +74,7 @@ FunctionPass *createAggressiveDCEPass();
 // if possible.
 //
 FunctionPass *createScalarReplAggregatesPass(signed Threshold = -1,
-                                             bool UseDomFrontier = true);
+                                             bool UseDomTree = true);
 
 //===----------------------------------------------------------------------===//
 //
index 1d0ca7d071eaa2b1138a7b5464b0268cfa2895bc..bf9ca6d803b6b132b073614068bc321d078d8ac8 100644 (file)
@@ -53,7 +53,7 @@ void llvm::initializeScalarOpts(PassRegistry &Registry) {
   initializeRegToMemPass(Registry);
   initializeSCCPPass(Registry);
   initializeIPSCCPPass(Registry);
-  initializeSROA_DFPass(Registry);
+  initializeSROA_DTPass(Registry);
   initializeSROA_SSAUpPass(Registry);
   initializeCFGSimplifyPassPass(Registry);
   initializeSimplifyHalfPowrLibCallsPass(Registry);
index 5c90a36023778b04fe8462d60792f1dd50710359..86c4e59a97dd4302d814a37215b380df293e8bfd 100644 (file)
@@ -30,7 +30,7 @@
 #include "llvm/LLVMContext.h"
 #include "llvm/Module.h"
 #include "llvm/Pass.h"
-#include "llvm/Analysis/DominanceFrontier.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/ValueTracking.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Transforms/Utils/PromoteMemToReg.h"
@@ -54,8 +54,8 @@ STATISTIC(NumGlobals,   "Number of allocas copied from constant global");
 
 namespace {
   struct SROA : public FunctionPass {
-    SROA(int T, bool hasDF, char &ID)
-      : FunctionPass(ID), HasDomFrontiers(hasDF) {
+    SROA(int T, bool hasDT, char &ID)
+      : FunctionPass(ID), HasDomTree(hasDT) {
       if (T == -1)
         SRThreshold = 128;
       else
@@ -68,7 +68,7 @@ namespace {
     bool performPromotion(Function &F);
 
   private:
-    bool HasDomFrontiers;
+    bool HasDomTree;
     TargetData *TD;
 
     /// DeadInsts - Keep track of instructions we have made dead, so that
@@ -140,12 +140,12 @@ namespace {
     static MemTransferInst *isOnlyCopiedFromConstantGlobal(AllocaInst *AI);
   };
   
-  // SROA_DF - SROA that uses DominanceFrontier.
-  struct SROA_DF : public SROA {
+  // SROA_DT - SROA that uses DominatorTree.
+  struct SROA_DT : public SROA {
     static char ID;
   public:
-    SROA_DF(int T = -1) : SROA(T, true, ID) {
-      initializeSROA_DFPass(*PassRegistry::getPassRegistry());
+    SROA_DT(int T = -1) : SROA(T, true, ID) {
+      initializeSROA_DTPass(*PassRegistry::getPassRegistry());
     }
     
     // getAnalysisUsage - This pass does not require any passes, but we know it
@@ -173,14 +173,14 @@ namespace {
   
 }
 
-char SROA_DF::ID = 0;
+char SROA_DT::ID = 0;
 char SROA_SSAUp::ID = 0;
 
-INITIALIZE_PASS_BEGIN(SROA_DF, "scalarrepl",
-                "Scalar Replacement of Aggregates (DF)", false, false)
+INITIALIZE_PASS_BEGIN(SROA_DT, "scalarrepl",
+                "Scalar Replacement of Aggregates (DT)", false, false)
 INITIALIZE_PASS_DEPENDENCY(DominatorTree)
-INITIALIZE_PASS_END(SROA_DF, "scalarrepl",
-                "Scalar Replacement of Aggregates (DF)", false, false)
+INITIALIZE_PASS_END(SROA_DT, "scalarrepl",
+                "Scalar Replacement of Aggregates (DT)", false, false)
 
 INITIALIZE_PASS_BEGIN(SROA_SSAUp, "scalarrepl-ssa",
                       "Scalar Replacement of Aggregates (SSAUp)", false, false)
@@ -189,9 +189,9 @@ INITIALIZE_PASS_END(SROA_SSAUp, "scalarrepl-ssa",
 
 // Public interface to the ScalarReplAggregates pass
 FunctionPass *llvm::createScalarReplAggregatesPass(int Threshold,
-                                                   bool UseDomFrontier) {
-  if (UseDomFrontier)
-    return new SROA_DF(Threshold);
+                                                   bool UseDomTree) {
+  if (UseDomTree)
+    return new SROA_DT(Threshold);
   return new SROA_SSAUp(Threshold);
 }
 
@@ -875,7 +875,7 @@ public:
 bool SROA::performPromotion(Function &F) {
   std::vector<AllocaInst*> Allocas;
   DominatorTree *DT = 0;
-  if (HasDomFrontiers)
+  if (HasDomTree)
     DT = &getAnalysis<DominatorTree>();
 
   BasicBlock &BB = F.getEntryBlock();  // Get the entry node for the function
@@ -894,7 +894,7 @@ bool SROA::performPromotion(Function &F) {
 
     if (Allocas.empty()) break;
 
-    if (HasDomFrontiers)
+    if (HasDomTree)
       PromoteMemToReg(Allocas, *DT);
     else {
       SSAUpdater SSA;
index ea2f8fca5f2c44dfcb8e8479df3fde81948cd051..f4ca81af6d87d6314ea5f2f41a8c52bff0a8d51c 100644 (file)
@@ -16,7 +16,7 @@
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Transforms/Utils/PromoteMemToReg.h"
 #include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h"
-#include "llvm/Analysis/DominanceFrontier.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Instructions.h"
 #include "llvm/Function.h"
 #include "llvm/ADT/Statistic.h"
@@ -36,8 +36,6 @@ namespace {
     //
     virtual bool runOnFunction(Function &F);
 
-    // getAnalysisUsage - We need dominance frontiers
-    //
     virtual void getAnalysisUsage(AnalysisUsage &AU) const {
       AU.addRequired<DominatorTree>();
       AU.setPreservesCFG();
index 82e565d1fb541ba19688895d19729864f4a3896f..32f778204cf7780b47303f8c595b50246a9ed20c 100644 (file)
@@ -35,7 +35,7 @@
 #include "llvm/Metadata.h"
 #include "llvm/Analysis/AliasSetTracker.h"
 #include "llvm/Analysis/DebugInfo.h"
-#include "llvm/Analysis/DominanceFrontier.h"
+#include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/InstructionSimplify.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/SmallPtrSet.h"
@@ -44,6 +44,7 @@
 #include "llvm/ADT/STLExtras.h"
 #include "llvm/Support/CFG.h"
 #include <algorithm>
+#include <map>
 #include <queue>
 using namespace llvm;
 
@@ -523,9 +524,8 @@ void PromoteMem2Reg::run() {
     Instruction *A = Allocas[i];
 
     // If there are any uses of the alloca instructions left, they must be in
-    // sections of dead code that were not processed on the dominance frontier.
-    // Just delete the users now.
-    //
+    // unreachable basic blocks that were not processed by walking the dominator
+    // tree. Just delete the users now.
     if (!A->use_empty())
       A->replaceAllUsesWith(UndefValue::get(A->getType()));
     if (AST) AST->deleteValue(A);
@@ -1102,9 +1102,9 @@ NextIteration:
 }
 
 /// PromoteMemToReg - Promote the specified list of alloca instructions into
-/// scalar registers, inserting PHI nodes as appropriate.  This function makes
-/// use of DominanceFrontier information.  This function does not modify the CFG
-/// of the function at all.  All allocas must be from the same function.
+/// scalar registers, inserting PHI nodes as appropriate.  This function does
+/// not modify the CFG of the function at all.  All allocas must be from the
+/// same function.
 ///
 /// If AST is specified, the specified tracker is updated to reflect changes
 /// made to the IR.