Begin adding static dependence information to passes, which will allow us to
authorOwen Anderson <resistor@mac.com>
Tue, 12 Oct 2010 19:48:12 +0000 (19:48 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 12 Oct 2010 19:48:12 +0000 (19:48 +0000)
commit2ab36d350293c77fc8941ce1023e4899df7e3a82
tree3d927ef6d1022512fda69b1ac7d010a9bee3a0ce
parent52b45056b2dc9246f732aa9cf655b6b2cb355c93
Begin adding static dependence information to passes, which will allow us to
perform initialization without static constructors AND without explicit initialization
by the client.  For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve.  I hope to be able to relax
the latter requirement in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116334 91177308-0d34-0410-b5e6-96231b3b80d8
61 files changed:
include/llvm/PassSupport.h
lib/Analysis/AliasAnalysisEvaluator.cpp
lib/Analysis/AliasSetTracker.cpp
lib/Analysis/IPA/GlobalsModRef.cpp
lib/Analysis/IVUsers.cpp
lib/Analysis/Lint.cpp
lib/Analysis/LiveValues.cpp
lib/Analysis/LoopDependenceAnalysis.cpp
lib/Analysis/LoopInfo.cpp
lib/Analysis/MemDepPrinter.cpp
lib/Analysis/MemoryDependenceAnalysis.cpp
lib/Analysis/PostDominators.cpp
lib/Analysis/ProfileEstimatorPass.cpp
lib/Analysis/ProfileVerifierPass.cpp
lib/Analysis/RegionInfo.cpp
lib/Analysis/ScalarEvolution.cpp
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
lib/CodeGen/CalcSpillWeights.cpp
lib/CodeGen/IfConversion.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/LiveVariables.cpp
lib/CodeGen/MachineCSE.cpp
lib/CodeGen/MachineLICM.cpp
lib/CodeGen/MachineLoopInfo.cpp
lib/CodeGen/MachineSink.cpp
lib/CodeGen/PeepholeOptimizer.cpp
lib/CodeGen/PreAllocSplitting.cpp
lib/CodeGen/ProcessImplicitDefs.cpp
lib/CodeGen/PrologEpilogInserter.cpp
lib/CodeGen/RegAllocLinearScan.cpp
lib/CodeGen/RenderMachineFunction.cpp
lib/CodeGen/SimpleRegisterCoalescing.cpp
lib/CodeGen/Splitter.cpp
lib/CodeGen/StackSlotColoring.cpp
lib/CodeGen/StrongPHIElimination.cpp
lib/CodeGen/TwoAddressInstructionPass.cpp
lib/Transforms/IPO/ArgumentPromotion.cpp
lib/Transforms/IPO/DeadTypeElimination.cpp
lib/Transforms/IPO/LoopExtractor.cpp
lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
lib/Transforms/Scalar/BasicBlockPlacement.cpp
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
lib/Transforms/Scalar/DeadStoreElimination.cpp
lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Scalar/IndVarSimplify.cpp
lib/Transforms/Scalar/JumpThreading.cpp
lib/Transforms/Scalar/LICM.cpp
lib/Transforms/Scalar/LoopDeletion.cpp
lib/Transforms/Scalar/LoopRotation.cpp
lib/Transforms/Scalar/LoopStrengthReduce.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp
lib/Transforms/Scalar/MemCpyOptimizer.cpp
lib/Transforms/Scalar/Reg2Mem.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Scalar/Sink.cpp
lib/Transforms/Utils/LCSSA.cpp
lib/Transforms/Utils/LoopSimplify.cpp
lib/Transforms/Utils/Mem2Reg.cpp
lib/VMCore/Dominators.cpp
lib/VMCore/Verifier.cpp