From b1686c32fc694636cbf15a59b23b2a741b65ecf4 Mon Sep 17 00:00:00 2001 From: Cameron Zwarich Date: Tue, 18 Jan 2011 03:53:26 +0000 Subject: [PATCH] Remove outdated references to dominance frontiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123724 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/InitializePasses.h | 2 +- include/llvm/Transforms/Scalar.h | 2 +- lib/Transforms/Scalar/Scalar.cpp | 2 +- .../Scalar/ScalarReplAggregates.cpp | 36 +++++++++---------- lib/Transforms/Utils/Mem2Reg.cpp | 4 +-- .../Utils/PromoteMemoryToRegister.cpp | 14 ++++---- 6 files changed, 29 insertions(+), 31 deletions(-) diff --git a/include/llvm/InitializePasses.h b/include/llvm/InitializePasses.h index 6c5fc89e1d4..8aeb1c2b981 100644 --- a/include/llvm/InitializePasses.h +++ b/include/llvm/InitializePasses.h @@ -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&); diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index 9a87eab3fee..6f2a38e5840 100644 --- a/include/llvm/Transforms/Scalar.h +++ b/include/llvm/Transforms/Scalar.h @@ -74,7 +74,7 @@ FunctionPass *createAggressiveDCEPass(); // if possible. // FunctionPass *createScalarReplAggregatesPass(signed Threshold = -1, - bool UseDomFrontier = true); + bool UseDomTree = true); //===----------------------------------------------------------------------===// // diff --git a/lib/Transforms/Scalar/Scalar.cpp b/lib/Transforms/Scalar/Scalar.cpp index 1d0ca7d071e..bf9ca6d803b 100644 --- a/lib/Transforms/Scalar/Scalar.cpp +++ b/lib/Transforms/Scalar/Scalar.cpp @@ -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); diff --git a/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/lib/Transforms/Scalar/ScalarReplAggregates.cpp index 5c90a360237..86c4e59a97d 100644 --- a/lib/Transforms/Scalar/ScalarReplAggregates.cpp +++ b/lib/Transforms/Scalar/ScalarReplAggregates.cpp @@ -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 Allocas; DominatorTree *DT = 0; - if (HasDomFrontiers) + if (HasDomTree) DT = &getAnalysis(); 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; diff --git a/lib/Transforms/Utils/Mem2Reg.cpp b/lib/Transforms/Utils/Mem2Reg.cpp index ea2f8fca5f2..f4ca81af6d8 100644 --- a/lib/Transforms/Utils/Mem2Reg.cpp +++ b/lib/Transforms/Utils/Mem2Reg.cpp @@ -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(); AU.setPreservesCFG(); diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 82e565d1fb5..32f778204cf 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -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 +#include #include 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. -- 2.34.1