projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f6d6df4
)
Revert r110396 to fix buildbots.
author
Owen Anderson
<resistor@mac.com>
Fri, 6 Aug 2010 00:23:35 +0000
(
00:23
+0000)
committer
Owen Anderson
<resistor@mac.com>
Fri, 6 Aug 2010 00:23:35 +0000
(
00:23
+0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410
91177308
-0d34-0410-b5e6-
96231b3b80d8
212 files changed:
include/llvm/Analysis/DOTGraphTraitsPass.h
patch
|
blob
|
history
include/llvm/Analysis/Dominators.h
patch
|
blob
|
history
include/llvm/Analysis/FindUsedTypes.h
patch
|
blob
|
history
include/llvm/Analysis/IntervalPartition.h
patch
|
blob
|
history
include/llvm/Analysis/LazyValueInfo.h
patch
|
blob
|
history
include/llvm/Analysis/LibCallAliasAnalysis.h
patch
|
blob
|
history
include/llvm/Analysis/LoopDependenceAnalysis.h
patch
|
blob
|
history
include/llvm/Analysis/LoopInfo.h
patch
|
blob
|
history
include/llvm/Analysis/LoopPass.h
patch
|
blob
|
history
include/llvm/Analysis/Passes.h
patch
|
blob
|
history
include/llvm/Analysis/PostDominators.h
patch
|
blob
|
history
include/llvm/CallGraphSCCPass.h
patch
|
blob
|
history
include/llvm/CodeGen/CalcSpillWeights.h
patch
|
blob
|
history
include/llvm/CodeGen/LiveIntervalAnalysis.h
patch
|
blob
|
history
include/llvm/CodeGen/LiveStackAnalysis.h
patch
|
blob
|
history
include/llvm/CodeGen/LiveVariables.h
patch
|
blob
|
history
include/llvm/CodeGen/MachineFunctionPass.h
patch
|
blob
|
history
include/llvm/CodeGen/MachineLoopInfo.h
patch
|
blob
|
history
include/llvm/CodeGen/Passes.h
patch
|
blob
|
history
include/llvm/CodeGen/ProcessImplicitDefs.h
patch
|
blob
|
history
include/llvm/CodeGen/SlotIndexes.h
patch
|
blob
|
history
include/llvm/Pass.h
patch
|
blob
|
history
include/llvm/PassAnalysisSupport.h
patch
|
blob
|
history
include/llvm/PassManagers.h
patch
|
blob
|
history
include/llvm/PassRegistry.h
patch
|
blob
|
history
include/llvm/PassSupport.h
patch
|
blob
|
history
include/llvm/Target/TargetData.h
patch
|
blob
|
history
include/llvm/Transforms/IPO/InlinerPass.h
patch
|
blob
|
history
include/llvm/Transforms/Scalar.h
patch
|
blob
|
history
include/llvm/Transforms/Utils/SSI.h
patch
|
blob
|
history
include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
patch
|
blob
|
history
lib/Analysis/AliasAnalysisCounter.cpp
patch
|
blob
|
history
lib/Analysis/AliasAnalysisEvaluator.cpp
patch
|
blob
|
history
lib/Analysis/AliasDebugger.cpp
patch
|
blob
|
history
lib/Analysis/AliasSetTracker.cpp
patch
|
blob
|
history
lib/Analysis/BasicAliasAnalysis.cpp
patch
|
blob
|
history
lib/Analysis/CFGPrinter.cpp
patch
|
blob
|
history
lib/Analysis/DbgInfoPrinter.cpp
patch
|
blob
|
history
lib/Analysis/DomPrinter.cpp
patch
|
blob
|
history
lib/Analysis/IPA/CallGraph.cpp
patch
|
blob
|
history
lib/Analysis/IPA/CallGraphSCCPass.cpp
patch
|
blob
|
history
lib/Analysis/IPA/GlobalsModRef.cpp
patch
|
blob
|
history
lib/Analysis/IVUsers.cpp
patch
|
blob
|
history
lib/Analysis/InstCount.cpp
patch
|
blob
|
history
lib/Analysis/IntervalPartition.cpp
patch
|
blob
|
history
lib/Analysis/Lint.cpp
patch
|
blob
|
history
lib/Analysis/LiveValues.cpp
patch
|
blob
|
history
lib/Analysis/LoopPass.cpp
patch
|
blob
|
history
lib/Analysis/MemoryDependenceAnalysis.cpp
patch
|
blob
|
history
lib/Analysis/ModuleDebugInfoPrinter.cpp
patch
|
blob
|
history
lib/Analysis/PointerTracking.cpp
patch
|
blob
|
history
lib/Analysis/ProfileEstimatorPass.cpp
patch
|
blob
|
history
lib/Analysis/ProfileInfo.cpp
patch
|
blob
|
history
lib/Analysis/ProfileInfoLoaderPass.cpp
patch
|
blob
|
history
lib/Analysis/ProfileVerifierPass.cpp
patch
|
blob
|
history
lib/Analysis/RegionInfo.cpp
patch
|
blob
|
history
lib/Analysis/RegionPrinter.cpp
patch
|
blob
|
history
lib/Analysis/ScalarEvolution.cpp
patch
|
blob
|
history
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
patch
|
blob
|
history
lib/Analysis/TypeBasedAliasAnalysis.cpp
patch
|
blob
|
history
lib/Bitcode/Writer/BitcodeWriterPass.cpp
patch
|
blob
|
history
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
patch
|
blob
|
history
lib/CodeGen/BranchFolding.cpp
patch
|
blob
|
history
lib/CodeGen/CodePlacementOpt.cpp
patch
|
blob
|
history
lib/CodeGen/DeadMachineInstructionElim.cpp
patch
|
blob
|
history
lib/CodeGen/DwarfEHPrepare.cpp
patch
|
blob
|
history
lib/CodeGen/ELFWriter.cpp
patch
|
blob
|
history
lib/CodeGen/GCMetadata.cpp
patch
|
blob
|
history
lib/CodeGen/GCStrategy.cpp
patch
|
blob
|
history
lib/CodeGen/IfConversion.cpp
patch
|
blob
|
history
lib/CodeGen/LowerSubregs.cpp
patch
|
blob
|
history
lib/CodeGen/MachineCSE.cpp
patch
|
blob
|
history
lib/CodeGen/MachineDominators.cpp
patch
|
blob
|
history
lib/CodeGen/MachineFunctionAnalysis.cpp
patch
|
blob
|
history
lib/CodeGen/MachineFunctionPrinterPass.cpp
patch
|
blob
|
history
lib/CodeGen/MachineLICM.cpp
patch
|
blob
|
history
lib/CodeGen/MachineLoopInfo.cpp
patch
|
blob
|
history
lib/CodeGen/MachineModuleInfo.cpp
patch
|
blob
|
history
lib/CodeGen/MachineSink.cpp
patch
|
blob
|
history
lib/CodeGen/MachineVerifier.cpp
patch
|
blob
|
history
lib/CodeGen/OptimizeExts.cpp
patch
|
blob
|
history
lib/CodeGen/OptimizePHIs.cpp
patch
|
blob
|
history
lib/CodeGen/PHIElimination.cpp
patch
|
blob
|
history
lib/CodeGen/PHIElimination.h
patch
|
blob
|
history
lib/CodeGen/PostRASchedulerList.cpp
patch
|
blob
|
history
lib/CodeGen/PreAllocSplitting.cpp
patch
|
blob
|
history
lib/CodeGen/PrologEpilogInserter.h
patch
|
blob
|
history
lib/CodeGen/RegAllocFast.cpp
patch
|
blob
|
history
lib/CodeGen/RegAllocLinearScan.cpp
patch
|
blob
|
history
lib/CodeGen/RegAllocPBQP.cpp
patch
|
blob
|
history
lib/CodeGen/RenderMachineFunction.h
patch
|
blob
|
history
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
patch
|
blob
|
history
lib/CodeGen/SimpleRegisterCoalescing.cpp
patch
|
blob
|
history
lib/CodeGen/SimpleRegisterCoalescing.h
patch
|
blob
|
history
lib/CodeGen/SjLjEHPrepare.cpp
patch
|
blob
|
history
lib/CodeGen/Splitter.h
patch
|
blob
|
history
lib/CodeGen/StackProtector.cpp
patch
|
blob
|
history
lib/CodeGen/StackSlotColoring.cpp
patch
|
blob
|
history
lib/CodeGen/StrongPHIElimination.cpp
patch
|
blob
|
history
lib/CodeGen/TailDuplication.cpp
patch
|
blob
|
history
lib/CodeGen/TwoAddressInstructionPass.cpp
patch
|
blob
|
history
lib/CodeGen/UnreachableBlockElim.cpp
patch
|
blob
|
history
lib/CodeGen/VirtRegMap.h
patch
|
blob
|
history
lib/Target/ARM/ARMCodeEmitter.cpp
patch
|
blob
|
history
lib/Target/ARM/ARMConstantIslandPass.cpp
patch
|
blob
|
history
lib/Target/ARM/ARMExpandPseudoInsts.cpp
patch
|
blob
|
history
lib/Target/ARM/ARMGlobalMerge.cpp
patch
|
blob
|
history
lib/Target/ARM/ARMLoadStoreOptimizer.cpp
patch
|
blob
|
history
lib/Target/ARM/NEONMoveFix.cpp
patch
|
blob
|
history
lib/Target/ARM/NEONPreAllocPass.cpp
patch
|
blob
|
history
lib/Target/ARM/Thumb2ITBlockPass.cpp
patch
|
blob
|
history
lib/Target/ARM/Thumb2SizeReduction.cpp
patch
|
blob
|
history
lib/Target/Alpha/AlphaBranchSelector.cpp
patch
|
blob
|
history
lib/Target/Alpha/AlphaCodeEmitter.cpp
patch
|
blob
|
history
lib/Target/Alpha/AlphaLLRP.cpp
patch
|
blob
|
history
lib/Target/CBackend/CBackend.cpp
patch
|
blob
|
history
lib/Target/CppBackend/CPPBackend.cpp
patch
|
blob
|
history
lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
patch
|
blob
|
history
lib/Target/MSIL/MSILWriter.h
patch
|
blob
|
history
lib/Target/MSP430/MSP430BranchSelector.cpp
patch
|
blob
|
history
lib/Target/Mips/MipsDelaySlotFiller.cpp
patch
|
blob
|
history
lib/Target/PIC16/PIC16MemSelOpt.cpp
patch
|
blob
|
history
lib/Target/PIC16/PIC16Passes/PIC16Cloner.h
patch
|
blob
|
history
lib/Target/PIC16/PIC16Passes/PIC16Overlay.h
patch
|
blob
|
history
lib/Target/PowerPC/PPCBranchSelector.cpp
patch
|
blob
|
history
lib/Target/PowerPC/PPCCodeEmitter.cpp
patch
|
blob
|
history
lib/Target/Sparc/DelaySlotFiller.cpp
patch
|
blob
|
history
lib/Target/Sparc/FPMover.cpp
patch
|
blob
|
history
lib/Target/TargetData.cpp
patch
|
blob
|
history
lib/Target/X86/SSEDomainFix.cpp
patch
|
blob
|
history
lib/Target/X86/X86CodeEmitter.cpp
patch
|
blob
|
history
lib/Target/X86/X86FloatingPoint.cpp
patch
|
blob
|
history
lib/Target/X86/X86InstrInfo.cpp
patch
|
blob
|
history
lib/Target/X86/X86RegisterInfo.cpp
patch
|
blob
|
history
lib/Transforms/Hello/Hello.cpp
patch
|
blob
|
history
lib/Transforms/IPO/ArgumentPromotion.cpp
patch
|
blob
|
history
lib/Transforms/IPO/ConstantMerge.cpp
patch
|
blob
|
history
lib/Transforms/IPO/DeadArgumentElimination.cpp
patch
|
blob
|
history
lib/Transforms/IPO/DeadTypeElimination.cpp
patch
|
blob
|
history
lib/Transforms/IPO/ExtractGV.cpp
patch
|
blob
|
history
lib/Transforms/IPO/FunctionAttrs.cpp
patch
|
blob
|
history
lib/Transforms/IPO/GlobalDCE.cpp
patch
|
blob
|
history
lib/Transforms/IPO/GlobalOpt.cpp
patch
|
blob
|
history
lib/Transforms/IPO/IPConstantPropagation.cpp
patch
|
blob
|
history
lib/Transforms/IPO/InlineAlways.cpp
patch
|
blob
|
history
lib/Transforms/IPO/InlineSimple.cpp
patch
|
blob
|
history
lib/Transforms/IPO/Inliner.cpp
patch
|
blob
|
history
lib/Transforms/IPO/Internalize.cpp
patch
|
blob
|
history
lib/Transforms/IPO/LoopExtractor.cpp
patch
|
blob
|
history
lib/Transforms/IPO/LowerSetJmp.cpp
patch
|
blob
|
history
lib/Transforms/IPO/MergeFunctions.cpp
patch
|
blob
|
history
lib/Transforms/IPO/PartialInlining.cpp
patch
|
blob
|
history
lib/Transforms/IPO/PartialSpecialization.cpp
patch
|
blob
|
history
lib/Transforms/IPO/PruneEH.cpp
patch
|
blob
|
history
lib/Transforms/IPO/StripDeadPrototypes.cpp
patch
|
blob
|
history
lib/Transforms/IPO/StripSymbols.cpp
patch
|
blob
|
history
lib/Transforms/IPO/StructRetPromotion.cpp
patch
|
blob
|
history
lib/Transforms/InstCombine/InstCombine.h
patch
|
blob
|
history
lib/Transforms/Instrumentation/EdgeProfiling.cpp
patch
|
blob
|
history
lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/ABCD.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/ADCE.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/BasicBlockPlacement.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/CodeGenPrepare.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/ConstantProp.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/DCE.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/DeadStoreElimination.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/GEPSplitter.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/GVN.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/IndVarSimplify.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/JumpThreading.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LICM.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LoopDeletion.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LoopIndexSplit.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LoopRotation.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LoopStrengthReduce.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LoopUnrollPass.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LoopUnswitch.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/LowerAtomic.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/MemCpyOptimizer.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/Reassociate.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/Reg2Mem.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/SCCP.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/ScalarReplAggregates.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/SimplifyCFGPass.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/SimplifyLibCalls.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/Sink.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/TailDuplication.cpp
patch
|
blob
|
history
lib/Transforms/Scalar/TailRecursionElimination.cpp
patch
|
blob
|
history
lib/Transforms/Utils/BreakCriticalEdges.cpp
patch
|
blob
|
history
lib/Transforms/Utils/InstructionNamer.cpp
patch
|
blob
|
history
lib/Transforms/Utils/LCSSA.cpp
patch
|
blob
|
history
lib/Transforms/Utils/LoopSimplify.cpp
patch
|
blob
|
history
lib/Transforms/Utils/LowerInvoke.cpp
patch
|
blob
|
history
lib/Transforms/Utils/LowerSwitch.cpp
patch
|
blob
|
history
lib/Transforms/Utils/Mem2Reg.cpp
patch
|
blob
|
history
lib/Transforms/Utils/SSI.cpp
patch
|
blob
|
history
lib/VMCore/Pass.cpp
patch
|
blob
|
history
lib/VMCore/PassManager.cpp
patch
|
blob
|
history
lib/VMCore/PassRegistry.cpp
patch
|
blob
|
history
lib/VMCore/PrintModulePass.cpp
patch
|
blob
|
history
lib/VMCore/Verifier.cpp
patch
|
blob
|
history
tools/bugpoint/ExtractFunction.cpp
patch
|
blob
|
history
tools/bugpoint/TestPasses.cpp
patch
|
blob
|
history
tools/bugpoint/bugpoint.cpp
patch
|
blob
|
history
tools/llvm-prof/llvm-prof.cpp
patch
|
blob
|
history
tools/opt/AnalysisWrappers.cpp
patch
|
blob
|
history
tools/opt/GraphPrinters.cpp
patch
|
blob
|
history
tools/opt/PrintSCC.cpp
patch
|
blob
|
history
tools/opt/opt.cpp
patch
|
blob
|
history
unittests/VMCore/PassManagerTest.cpp
patch
|
blob
|
history
diff --git
a/include/llvm/Analysis/DOTGraphTraitsPass.h
b/include/llvm/Analysis/DOTGraphTraitsPass.h
index d8daf5196fcaa5c506da29759339fe01b8963001..4828eba5b5283f664d284d43ae53a8a9a9f0a502 100644
(file)
--- a/
include/llvm/Analysis/DOTGraphTraitsPass.h
+++ b/
include/llvm/Analysis/DOTGraphTraitsPass.h
@@
-22,7
+22,7
@@
template <class Analysis, bool Simple>
struct DOTGraphTraitsViewer : public FunctionPass {
std::string Name;
struct DOTGraphTraitsViewer : public FunctionPass {
std::string Name;
- DOTGraphTraitsViewer(std::string GraphName, c
har &
ID) : FunctionPass(ID) {
+ DOTGraphTraitsViewer(std::string GraphName, c
onst void *
ID) : FunctionPass(ID) {
Name = GraphName;
}
Name = GraphName;
}
@@
-48,7
+48,7
@@
struct DOTGraphTraitsPrinter : public FunctionPass {
std::string Name;
std::string Name;
- DOTGraphTraitsPrinter(std::string GraphName, c
har &
ID)
+ DOTGraphTraitsPrinter(std::string GraphName, c
onst void *
ID)
: FunctionPass(ID) {
Name = GraphName;
}
: FunctionPass(ID) {
Name = GraphName;
}
diff --git
a/include/llvm/Analysis/Dominators.h
b/include/llvm/Analysis/Dominators.h
index 73c6e6286b5b23bda1ccc15f02a4f7acee60914a..f79afdd1e9c959b026ed5168f0af7f933753aee6 100644
(file)
--- a/
include/llvm/Analysis/Dominators.h
+++ b/
include/llvm/Analysis/Dominators.h
@@
-702,7
+702,7
@@
public:
static char ID; // Pass ID, replacement for typeid
DominatorTreeBase<BasicBlock>* DT;
static char ID; // Pass ID, replacement for typeid
DominatorTreeBase<BasicBlock>* DT;
- DominatorTree() : FunctionPass(ID) {
+ DominatorTree() : FunctionPass(
&
ID) {
DT = new DominatorTreeBase<BasicBlock>(false);
}
DT = new DominatorTreeBase<BasicBlock>(false);
}
@@
-890,7
+890,7
@@
protected:
const bool IsPostDominators;
public:
const bool IsPostDominators;
public:
- DominanceFrontierBase(
char &
ID, bool isPostDom)
+ DominanceFrontierBase(
void *
ID, bool isPostDom)
: FunctionPass(ID), IsPostDominators(isPostDom) {}
/// getRoots - Return the root blocks of the current CFG. This may include
: FunctionPass(ID), IsPostDominators(isPostDom) {}
/// getRoots - Return the root blocks of the current CFG. This may include
@@
-1009,7
+1009,7
@@
class DominanceFrontier : public DominanceFrontierBase {
public:
static char ID; // Pass ID, replacement for typeid
DominanceFrontier() :
public:
static char ID; // Pass ID, replacement for typeid
DominanceFrontier() :
- DominanceFrontierBase(ID, false) {}
+ DominanceFrontierBase(
&
ID, false) {}
BasicBlock *getRoot() const {
assert(Roots.size() == 1 && "Should always have entry node!");
BasicBlock *getRoot() const {
assert(Roots.size() == 1 && "Should always have entry node!");
diff --git
a/include/llvm/Analysis/FindUsedTypes.h
b/include/llvm/Analysis/FindUsedTypes.h
index 8a78eb624973ae84330ccfa4dcac1c305ad98530..1337385848ed3e107d8c1951f283acfc19f7b9d3 100644
(file)
--- a/
include/llvm/Analysis/FindUsedTypes.h
+++ b/
include/llvm/Analysis/FindUsedTypes.h
@@
-26,7
+26,7
@@
class FindUsedTypes : public ModulePass {
std::set<const Type *> UsedTypes;
public:
static char ID; // Pass identification, replacement for typeid
std::set<const Type *> UsedTypes;
public:
static char ID; // Pass identification, replacement for typeid
- FindUsedTypes() : ModulePass(ID) {}
+ FindUsedTypes() : ModulePass(
&
ID) {}
/// getTypes - After the pass has been run, return the set containing all of
/// the types used in the module.
/// getTypes - After the pass has been run, return the set containing all of
/// the types used in the module.
diff --git
a/include/llvm/Analysis/IntervalPartition.h
b/include/llvm/Analysis/IntervalPartition.h
index 75a5cdf1f99db7099664d5c1a60f0dd26c60dc4a..c1214e7427a4a4b2a9205992d06e9a3374157482 100644
(file)
--- a/
include/llvm/Analysis/IntervalPartition.h
+++ b/
include/llvm/Analysis/IntervalPartition.h
@@
-48,7
+48,7
@@
class IntervalPartition : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- IntervalPartition() : FunctionPass(ID), RootInterval(0) {}
+ IntervalPartition() : FunctionPass(
&
ID), RootInterval(0) {}
// run - Calculate the interval partition for this function
virtual bool runOnFunction(Function &F);
// run - Calculate the interval partition for this function
virtual bool runOnFunction(Function &F);
diff --git
a/include/llvm/Analysis/LazyValueInfo.h
b/include/llvm/Analysis/LazyValueInfo.h
index ac164c19c954f845bd2c4eecd2b12cbb4b3ea3e4..f59b2e353226d1795e83f17aaa176ece84c5016d 100644
(file)
--- a/
include/llvm/Analysis/LazyValueInfo.h
+++ b/
include/llvm/Analysis/LazyValueInfo.h
@@
-31,7
+31,7
@@
class LazyValueInfo : public FunctionPass {
void operator=(const LazyValueInfo&); // DO NOT IMPLEMENT.
public:
static char ID;
void operator=(const LazyValueInfo&); // DO NOT IMPLEMENT.
public:
static char ID;
- LazyValueInfo() : FunctionPass(ID), PImpl(0) {}
+ LazyValueInfo() : FunctionPass(
&
ID), PImpl(0) {}
~LazyValueInfo() { assert(PImpl == 0 && "releaseMemory not called"); }
/// Tristate - This is used to return true/false/dunno results.
~LazyValueInfo() { assert(PImpl == 0 && "releaseMemory not called"); }
/// Tristate - This is used to return true/false/dunno results.
diff --git
a/include/llvm/Analysis/LibCallAliasAnalysis.h
b/include/llvm/Analysis/LibCallAliasAnalysis.h
index c9adf3f36ad74507b077735174f47ee503d40cce..37abb77dc2fadbe129cd6d05a8a94bd2684f7c1b 100644
(file)
--- a/
include/llvm/Analysis/LibCallAliasAnalysis.h
+++ b/
include/llvm/Analysis/LibCallAliasAnalysis.h
@@
-28,9
+28,9
@@
namespace llvm {
LibCallInfo *LCI;
explicit LibCallAliasAnalysis(LibCallInfo *LC = 0)
LibCallInfo *LCI;
explicit LibCallAliasAnalysis(LibCallInfo *LC = 0)
- : FunctionPass(ID), LCI(LC) {
+ : FunctionPass(
&
ID), LCI(LC) {
}
}
- explicit LibCallAliasAnalysis(c
har &
ID, LibCallInfo *LC)
+ explicit LibCallAliasAnalysis(c
onst void *
ID, LibCallInfo *LC)
: FunctionPass(ID), LCI(LC) {
}
~LibCallAliasAnalysis();
: FunctionPass(ID), LCI(LC) {
}
~LibCallAliasAnalysis();
@@
-55,8
+55,8
@@
namespace llvm {
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(const
void
*PI) {
- if (PI
== &AliasAnalysis::ID
)
+ virtual void *getAdjustedAnalysisPointer(const
PassInfo
*PI) {
+ if (PI
->isPassID(&AliasAnalysis::ID)
)
return (AliasAnalysis*)this;
return this;
}
return (AliasAnalysis*)this;
return this;
}
diff --git
a/include/llvm/Analysis/LoopDependenceAnalysis.h
b/include/llvm/Analysis/LoopDependenceAnalysis.h
index 94fd9907090da437ece12f9d0f30b00e72876b2f..a1a563796f5a0ad8f91248acab31f603f90c5f7a 100644
(file)
--- a/
include/llvm/Analysis/LoopDependenceAnalysis.h
+++ b/
include/llvm/Analysis/LoopDependenceAnalysis.h
@@
-91,7
+91,7
@@
class LoopDependenceAnalysis : public LoopPass {
public:
static char ID; // Class identification, replacement for typeinfo
public:
static char ID; // Class identification, replacement for typeinfo
- LoopDependenceAnalysis() : LoopPass(ID) {}
+ LoopDependenceAnalysis() : LoopPass(
&
ID) {}
/// isDependencePair - Check whether two values can possibly give rise to
/// a data dependence: that is the case if both are instructions accessing
/// isDependencePair - Check whether two values can possibly give rise to
/// a data dependence: that is the case if both are instructions accessing
diff --git
a/include/llvm/Analysis/LoopInfo.h
b/include/llvm/Analysis/LoopInfo.h
index 462620f7e3cbb795d0514b173c54dca3d8d41207..2e90a9631fb77efb962b908d01fe58e54d8595ca 100644
(file)
--- a/
include/llvm/Analysis/LoopInfo.h
+++ b/
include/llvm/Analysis/LoopInfo.h
@@
-940,7
+940,7
@@
class LoopInfo : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- LoopInfo() : FunctionPass(ID) {}
+ LoopInfo() : FunctionPass(
&
ID) {}
LoopInfoBase<BasicBlock, Loop>& getBase() { return LI; }
LoopInfoBase<BasicBlock, Loop>& getBase() { return LI; }
diff --git
a/include/llvm/Analysis/LoopPass.h
b/include/llvm/Analysis/LoopPass.h
index 3e1c2a941802fa4b66c44842c0fe8e6608579f83..6f77d019b691898872adb9af7ab815407628bc5a 100644
(file)
--- a/
include/llvm/Analysis/LoopPass.h
+++ b/
include/llvm/Analysis/LoopPass.h
@@
-28,7
+28,8
@@
class PMStack;
class LoopPass : public Pass {
public:
class LoopPass : public Pass {
public:
- explicit LoopPass(char &pid) : Pass(PT_Loop, pid) {}
+ explicit LoopPass(intptr_t pid) : Pass(PT_Loop, pid) {}
+ explicit LoopPass(void *pid) : Pass(PT_Loop, pid) {}
/// getPrinterPass - Get a pass to print the function corresponding
/// to a Loop.
/// getPrinterPass - Get a pass to print the function corresponding
/// to a Loop.
diff --git
a/include/llvm/Analysis/Passes.h
b/include/llvm/Analysis/Passes.h
index 37425ebe8358841e2c57b872d42f3c4d539e95cc..e8e77960ad8fc3193bc279a5088b06df74767f7e 100644
(file)
--- a/
include/llvm/Analysis/Passes.h
+++ b/
include/llvm/Analysis/Passes.h
@@
-92,7
+92,7
@@
namespace llvm {
// file.
//
ModulePass *createProfileLoaderPass();
// file.
//
ModulePass *createProfileLoaderPass();
- extern c
har &
ProfileLoaderPassID;
+ extern c
onst PassInfo *
ProfileLoaderPassID;
//===--------------------------------------------------------------------===//
//
//===--------------------------------------------------------------------===//
//
@@
-106,7
+106,7
@@
namespace llvm {
// instead of loading it from a previous run.
//
FunctionPass *createProfileEstimatorPass();
// instead of loading it from a previous run.
//
FunctionPass *createProfileEstimatorPass();
- extern c
har &
ProfileEstimatorPassID;
+ extern c
onst PassInfo *
ProfileEstimatorPassID;
//===--------------------------------------------------------------------===//
//
//===--------------------------------------------------------------------===//
//
diff --git
a/include/llvm/Analysis/PostDominators.h
b/include/llvm/Analysis/PostDominators.h
index 46ce8200f96632b06f239fcfd151b9eefe078934..5552017d91800e384b4eb43efd2c445303673814 100644
(file)
--- a/
include/llvm/Analysis/PostDominators.h
+++ b/
include/llvm/Analysis/PostDominators.h
@@
-25,7
+25,7
@@
struct PostDominatorTree : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
DominatorTreeBase<BasicBlock>* DT;
static char ID; // Pass identification, replacement for typeid
DominatorTreeBase<BasicBlock>* DT;
- PostDominatorTree() : FunctionPass(ID) {
+ PostDominatorTree() : FunctionPass(
&
ID) {
DT = new DominatorTreeBase<BasicBlock>(true);
}
DT = new DominatorTreeBase<BasicBlock>(true);
}
@@
-106,7
+106,7
@@
template <> struct GraphTraits<PostDominatorTree*>
struct PostDominanceFrontier : public DominanceFrontierBase {
static char ID;
PostDominanceFrontier()
struct PostDominanceFrontier : public DominanceFrontierBase {
static char ID;
PostDominanceFrontier()
- : DominanceFrontierBase(ID, true) {}
+ : DominanceFrontierBase(
&
ID, true) {}
virtual bool runOnFunction(Function &) {
Frontiers.clear();
virtual bool runOnFunction(Function &) {
Frontiers.clear();
diff --git
a/include/llvm/CallGraphSCCPass.h
b/include/llvm/CallGraphSCCPass.h
index 5fa8b0e574a2676a627f82491be68117360a9952..e11b9677c74af1b39d1d8a0895ff5694ba0a3c4d 100644
(file)
--- a/
include/llvm/CallGraphSCCPass.h
+++ b/
include/llvm/CallGraphSCCPass.h
@@
-33,7
+33,8
@@
class CallGraphSCC;
class CallGraphSCCPass : public Pass {
public:
class CallGraphSCCPass : public Pass {
public:
- explicit CallGraphSCCPass(char &pid) : Pass(PT_CallGraphSCC, pid) {}
+ explicit CallGraphSCCPass(intptr_t pid) : Pass(PT_CallGraphSCC, pid) {}
+ explicit CallGraphSCCPass(void *pid) : Pass(PT_CallGraphSCC, pid) {}
/// createPrinterPass - Get a pass that prints the Module
/// corresponding to a CallGraph.
/// createPrinterPass - Get a pass that prints the Module
/// corresponding to a CallGraph.
diff --git
a/include/llvm/CodeGen/CalcSpillWeights.h
b/include/llvm/CodeGen/CalcSpillWeights.h
index e5273c549778811a73d1a713e981a39c30903676..2fc03bd41de8fd5c24a39cc887e6c4877d4ee478 100644
(file)
--- a/
include/llvm/CodeGen/CalcSpillWeights.h
+++ b/
include/llvm/CodeGen/CalcSpillWeights.h
@@
-23,7
+23,7
@@
namespace llvm {
public:
static char ID;
public:
static char ID;
- CalculateSpillWeights() : MachineFunctionPass(ID) {}
+ CalculateSpillWeights() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &au) const;
virtual void getAnalysisUsage(AnalysisUsage &au) const;
diff --git
a/include/llvm/CodeGen/LiveIntervalAnalysis.h
b/include/llvm/CodeGen/LiveIntervalAnalysis.h
index b154bf1b0510488bb301d436c9b055e377149b61..8a59bf1428a0f9f6962b5334206847555a10dc12 100644
(file)
--- a/
include/llvm/CodeGen/LiveIntervalAnalysis.h
+++ b/
include/llvm/CodeGen/LiveIntervalAnalysis.h
@@
-68,7
+68,7
@@
namespace llvm {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- LiveIntervals() : MachineFunctionPass(ID) {}
+ LiveIntervals() : MachineFunctionPass(
&
ID) {}
// Calculate the spill weight to assign to a single instruction.
static float getSpillWeight(bool isDef, bool isUse, unsigned loopDepth);
// Calculate the spill weight to assign to a single instruction.
static float getSpillWeight(bool isDef, bool isUse, unsigned loopDepth);
diff --git
a/include/llvm/CodeGen/LiveStackAnalysis.h
b/include/llvm/CodeGen/LiveStackAnalysis.h
index ad984db1899e14e075286425e418e5fe63989486..c6af6a1f89ce5ebe4edbba337cc82fde6de60bb0 100644
(file)
--- a/
include/llvm/CodeGen/LiveStackAnalysis.h
+++ b/
include/llvm/CodeGen/LiveStackAnalysis.h
@@
-39,7
+39,7
@@
namespace llvm {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- LiveStacks() : MachineFunctionPass(ID) {}
+ LiveStacks() : MachineFunctionPass(
&
ID) {}
typedef SS2IntervalMap::iterator iterator;
typedef SS2IntervalMap::const_iterator const_iterator;
typedef SS2IntervalMap::iterator iterator;
typedef SS2IntervalMap::const_iterator const_iterator;
diff --git
a/include/llvm/CodeGen/LiveVariables.h
b/include/llvm/CodeGen/LiveVariables.h
index c8182e073b9c7eb27bfd132509794e733a7f9cd1..fc5ea6f968bd319f3cea108de1de21e305667e71 100644
(file)
--- a/
include/llvm/CodeGen/LiveVariables.h
+++ b/
include/llvm/CodeGen/LiveVariables.h
@@
-46,7
+46,7
@@
class TargetRegisterInfo;
class LiveVariables : public MachineFunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
class LiveVariables : public MachineFunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
- LiveVariables() : MachineFunctionPass(ID) {}
+ LiveVariables() : MachineFunctionPass(
&
ID) {}
/// VarInfo - This represents the regions where a virtual register is live in
/// the program. We represent this with three different pieces of
/// VarInfo - This represents the regions where a virtual register is live in
/// the program. We represent this with three different pieces of
diff --git
a/include/llvm/CodeGen/MachineFunctionPass.h
b/include/llvm/CodeGen/MachineFunctionPass.h
index b7bf0a36c44737064a98e20a45d2afee45cc870b..685e86824c31f66806882592dfaea46c3aea302f 100644
(file)
--- a/
include/llvm/CodeGen/MachineFunctionPass.h
+++ b/
include/llvm/CodeGen/MachineFunctionPass.h
@@
-31,7
+31,8
@@
class MachineFunction;
/// override runOnMachineFunction.
class MachineFunctionPass : public FunctionPass {
protected:
/// override runOnMachineFunction.
class MachineFunctionPass : public FunctionPass {
protected:
- explicit MachineFunctionPass(char &ID) : FunctionPass(ID) {}
+ explicit MachineFunctionPass(intptr_t ID) : FunctionPass(ID) {}
+ explicit MachineFunctionPass(void *ID) : FunctionPass(ID) {}
/// runOnMachineFunction - This method must be overloaded to perform the
/// desired machine code transformation or analysis.
/// runOnMachineFunction - This method must be overloaded to perform the
/// desired machine code transformation or analysis.
diff --git
a/include/llvm/CodeGen/MachineLoopInfo.h
b/include/llvm/CodeGen/MachineLoopInfo.h
index 9760eba7b86e282d143b3646ea2a6724d053086b..3b3e31e02afa4ff73fde2dff1511de6db7140814 100644
(file)
--- a/
include/llvm/CodeGen/MachineLoopInfo.h
+++ b/
include/llvm/CodeGen/MachineLoopInfo.h
@@
-67,7
+67,7
@@
class MachineLoopInfo : public MachineFunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- MachineLoopInfo() : MachineFunctionPass(ID) {}
+ MachineLoopInfo() : MachineFunctionPass(
&
ID) {}
LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; }
LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; }
diff --git
a/include/llvm/CodeGen/Passes.h
b/include/llvm/CodeGen/Passes.h
index 5c1485366292e9f6e9fc5b21bb4fc6d199a64366..c881d74c1106bbf34f1c929210cb25726ccd3cee 100644
(file)
--- a/
include/llvm/CodeGen/Passes.h
+++ b/
include/llvm/CodeGen/Passes.h
@@
-43,18
+43,18
@@
namespace llvm {
/// MachineLoopInfo pass - This pass is a loop analysis pass.
///
/// MachineLoopInfo pass - This pass is a loop analysis pass.
///
- extern c
har &
MachineLoopInfoID;
+ extern c
onst PassInfo *const
MachineLoopInfoID;
/// MachineDominators pass - This pass is a machine dominators analysis pass.
///
/// MachineDominators pass - This pass is a machine dominators analysis pass.
///
- extern c
har &
MachineDominatorsID;
+ extern c
onst PassInfo *const
MachineDominatorsID;
/// PHIElimination pass - This pass eliminates machine instruction PHI nodes
/// by inserting copy instructions. This destroys SSA information, but is the
/// desired input for some register allocators. This pass is "required" by
/// these register allocator like this: AU.addRequiredID(PHIEliminationID);
///
/// PHIElimination pass - This pass eliminates machine instruction PHI nodes
/// by inserting copy instructions. This destroys SSA information, but is the
/// desired input for some register allocators. This pass is "required" by
/// these register allocator like this: AU.addRequiredID(PHIEliminationID);
///
- extern c
har &
PHIEliminationID;
+ extern c
onst PassInfo *const
PHIEliminationID;
/// StrongPHIElimination pass - This pass eliminates machine instruction PHI
/// nodes by inserting copy instructions. This destroys SSA information, but
/// StrongPHIElimination pass - This pass eliminates machine instruction PHI
/// nodes by inserting copy instructions. This destroys SSA information, but
@@
-62,23
+62,23
@@
namespace llvm {
/// "required" by these register allocator like this:
/// AU.addRequiredID(PHIEliminationID);
/// This pass is still in development
/// "required" by these register allocator like this:
/// AU.addRequiredID(PHIEliminationID);
/// This pass is still in development
- extern c
har &
StrongPHIEliminationID;
+ extern c
onst PassInfo *const
StrongPHIEliminationID;
- extern c
har &
PreAllocSplittingID;
+ extern c
onst PassInfo *const
PreAllocSplittingID;
/// SimpleRegisterCoalescing pass. Aggressively coalesces every register
/// copy it can.
///
/// SimpleRegisterCoalescing pass. Aggressively coalesces every register
/// copy it can.
///
- extern c
har &
SimpleRegisterCoalescingID;
+ extern c
onst PassInfo *const
SimpleRegisterCoalescingID;
/// TwoAddressInstruction pass - This pass reduces two-address instructions to
/// use two operands. This destroys SSA information but it is desired by
/// register allocators.
/// TwoAddressInstruction pass - This pass reduces two-address instructions to
/// use two operands. This destroys SSA information but it is desired by
/// register allocators.
- extern c
har &
TwoAddressInstructionPassID;
+ extern c
onst PassInfo *const
TwoAddressInstructionPassID;
/// UnreachableMachineBlockElimination pass - This pass removes unreachable
/// machine basic blocks.
/// UnreachableMachineBlockElimination pass - This pass removes unreachable
/// machine basic blocks.
- extern c
har &
UnreachableMachineBlockElimID;
+ extern c
onst PassInfo *const
UnreachableMachineBlockElimID;
/// DeadMachineInstructionElim pass - This pass removes dead machine
/// instructions.
/// DeadMachineInstructionElim pass - This pass removes dead machine
/// instructions.
diff --git
a/include/llvm/CodeGen/ProcessImplicitDefs.h
b/include/llvm/CodeGen/ProcessImplicitDefs.h
index 1d743c1cba24e8523f760ecf200a03a8a52b8337..30477b9b80b8d447fcb6e6cf2e6c4c7407c5551d 100644
(file)
--- a/
include/llvm/CodeGen/ProcessImplicitDefs.h
+++ b/
include/llvm/CodeGen/ProcessImplicitDefs.h
@@
-31,7
+31,7
@@
namespace llvm {
public:
static char ID;
public:
static char ID;
- ProcessImplicitDefs() : MachineFunctionPass(ID) {}
+ ProcessImplicitDefs() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &au) const;
virtual void getAnalysisUsage(AnalysisUsage &au) const;
diff --git
a/include/llvm/CodeGen/SlotIndexes.h
b/include/llvm/CodeGen/SlotIndexes.h
index fe3b0e2d5fe2c47e703d8a1ed171c5e89e9af851..f150d853fc6e81640f06e35970a7e41f4cb08c6c 100644
(file)
--- a/
include/llvm/CodeGen/SlotIndexes.h
+++ b/
include/llvm/CodeGen/SlotIndexes.h
@@
-475,7
+475,7
@@
namespace llvm {
public:
static char ID;
public:
static char ID;
- SlotIndexes() : MachineFunctionPass(ID), indexListHead(0) {}
+ SlotIndexes() : MachineFunctionPass(
&
ID), indexListHead(0) {}
virtual void getAnalysisUsage(AnalysisUsage &au) const;
virtual void releaseMemory();
virtual void getAnalysisUsage(AnalysisUsage &au) const;
virtual void releaseMemory();
diff --git
a/include/llvm/Pass.h
b/include/llvm/Pass.h
index e5c073cd9412e692739f71b5af5530adedac6434..5a5893140e050d4016b34c842657f071a27a7feb 100644
(file)
--- a/
include/llvm/Pass.h
+++ b/
include/llvm/Pass.h
@@
-50,7
+50,7
@@
class raw_ostream;
class StringRef;
// AnalysisID - Use the PassInfo to identify a pass...
class StringRef;
// AnalysisID - Use the PassInfo to identify a pass...
-typedef const
void
* AnalysisID;
+typedef const
PassInfo
* AnalysisID;
/// Different types of internal pass managers. External pass managers
/// (PassManager and FunctionPassManager) are not represented here.
/// Different types of internal pass managers. External pass managers
/// (PassManager and FunctionPassManager) are not represented here.
@@
-82,13
+82,14
@@
enum PassKind {
///
class Pass {
AnalysisResolver *Resolver; // Used to resolve analysis
///
class Pass {
AnalysisResolver *Resolver; // Used to resolve analysis
-
const void *
PassID;
+
intptr_t
PassID;
PassKind Kind;
void operator=(const Pass&); // DO NOT IMPLEMENT
Pass(const Pass &); // DO NOT IMPLEMENT
public:
PassKind Kind;
void operator=(const Pass&); // DO NOT IMPLEMENT
Pass(const Pass &); // DO NOT IMPLEMENT
public:
- explicit Pass(PassKind K, char &pid);
+ explicit Pass(PassKind K, intptr_t pid);
+ explicit Pass(PassKind K, const void *pid);
virtual ~Pass();
virtual ~Pass();
@@
-100,10
+101,10
@@
public:
///
virtual const char *getPassName() const;
///
virtual const char *getPassName() const;
- /// getPassI
D - Return the PassID number that corresponds to this pass.
- virtual AnalysisID getPassID() const {
- return PassID;
- }
+ /// getPassI
nfo - Return the PassInfo data structure that corresponds to this
+ /// pass... If the pass has not been registered, this will return null.
+ ///
+ const PassInfo *getPassInfo() const;
/// print - Print out the internal state of the pass. This is called by
/// Analyze to print out the contents of an analysis. Otherwise it is not
/// print - Print out the internal state of the pass. This is called by
/// Analyze to print out the contents of an analysis. Otherwise it is not
@@
-158,7
+159,7
@@
public:
/// an analysis interface through multiple inheritance. If needed, it should
/// override this to adjust the this pointer as needed for the specified pass
/// info.
/// an analysis interface through multiple inheritance. If needed, it should
/// override this to adjust the this pointer as needed for the specified pass
/// info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID ID
);
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
);
virtual ImmutablePass *getAsImmutablePass();
virtual PMDataManager *getAsPMDataManager();
virtual ImmutablePass *getAsImmutablePass();
virtual PMDataManager *getAsPMDataManager();
@@
-169,9
+170,14
@@
public:
// dumpPassStructure - Implement the -debug-passes=PassStructure option
virtual void dumpPassStructure(unsigned Offset = 0);
// dumpPassStructure - Implement the -debug-passes=PassStructure option
virtual void dumpPassStructure(unsigned Offset = 0);
+ template<typename AnalysisClass>
+ static const PassInfo *getClassPassInfo() {
+ return lookupPassInfo(intptr_t(&AnalysisClass::ID));
+ }
+
// lookupPassInfo - Return the pass info object for the specified pass class,
// or null if it is not known.
// lookupPassInfo - Return the pass info object for the specified pass class,
// or null if it is not known.
- static const PassInfo *lookupPassInfo(
const void *
TI);
+ static const PassInfo *lookupPassInfo(
intptr_t
TI);
// lookupPassInfo - Return the pass info object for the pass with the given
// argument string, or null if it is not known.
// lookupPassInfo - Return the pass info object for the pass with the given
// argument string, or null if it is not known.
@@
-194,7
+200,7
@@
public:
/// don't have the class name available (use getAnalysisIfAvailable if you
/// do), but it can tell you if you need to preserve the pass at least.
///
/// don't have the class name available (use getAnalysisIfAvailable if you
/// do), but it can tell you if you need to preserve the pass at least.
///
- bool mustPreserveAnalysisID(c
har &A
ID) const;
+ bool mustPreserveAnalysisID(c
onst PassInfo *Analysis
ID) const;
/// getAnalysis<AnalysisType>() - This function is used by subclasses to get
/// to the analysis information that they claim to use by overriding the
/// getAnalysis<AnalysisType>() - This function is used by subclasses to get
/// to the analysis information that they claim to use by overriding the
@@
-207,10
+213,10
@@
public:
AnalysisType &getAnalysis(Function &F); // Defined in PassAnalysisSupport.h
template<typename AnalysisType>
AnalysisType &getAnalysis(Function &F); // Defined in PassAnalysisSupport.h
template<typename AnalysisType>
- AnalysisType &getAnalysisID(
AnalysisID
PI) const;
+ AnalysisType &getAnalysisID(
const PassInfo *
PI) const;
template<typename AnalysisType>
template<typename AnalysisType>
- AnalysisType &getAnalysisID(
AnalysisID
PI, Function &F);
+ AnalysisType &getAnalysisID(
const PassInfo *
PI, Function &F);
};
};
@@
-234,7
+240,8
@@
public:
/// Return what kind of Pass Manager can manage this pass.
virtual PassManagerType getPotentialPassManagerType() const;
/// Return what kind of Pass Manager can manage this pass.
virtual PassManagerType getPotentialPassManagerType() const;
- explicit ModulePass(char &pid) : Pass(PT_Module, pid) {}
+ explicit ModulePass(intptr_t pid) : Pass(PT_Module, pid) {}
+ explicit ModulePass(const void *pid) : Pass(PT_Module, pid) {}
// Force out-of-line virtual method.
virtual ~ModulePass();
};
// Force out-of-line virtual method.
virtual ~ModulePass();
};
@@
-261,7
+268,8
@@
public:
///
bool runOnModule(Module &) { return false; }
///
bool runOnModule(Module &) { return false; }
- explicit ImmutablePass(char &pid)
+ explicit ImmutablePass(intptr_t pid) : ModulePass(pid) {}
+ explicit ImmutablePass(const void *pid)
: ModulePass(pid) {}
// Force out-of-line virtual method.
: ModulePass(pid) {}
// Force out-of-line virtual method.
@@
-279,7
+287,8
@@
public:
///
class FunctionPass : public Pass {
public:
///
class FunctionPass : public Pass {
public:
- explicit FunctionPass(char &pid) : Pass(PT_Function, pid) {}
+ explicit FunctionPass(intptr_t pid) : Pass(PT_Function, pid) {}
+ explicit FunctionPass(const void *pid) : Pass(PT_Function, pid) {}
/// createPrinterPass - Get a function printer pass.
Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
/// createPrinterPass - Get a function printer pass.
Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
@@
-331,7
+340,8
@@
public:
///
class BasicBlockPass : public Pass {
public:
///
class BasicBlockPass : public Pass {
public:
- explicit BasicBlockPass(char &pid) : Pass(PT_BasicBlock, pid) {}
+ explicit BasicBlockPass(intptr_t pid) : Pass(PT_BasicBlock, pid) {}
+ explicit BasicBlockPass(const void *pid) : Pass(PT_BasicBlock, pid) {}
/// createPrinterPass - Get a function printer pass.
Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
/// createPrinterPass - Get a function printer pass.
Pass *createPrinterPass(raw_ostream &O, const std::string &Banner) const;
diff --git
a/include/llvm/PassAnalysisSupport.h
b/include/llvm/PassAnalysisSupport.h
index a99a1ae8711818bdd20dbcf4565823c24a0741a1..977d4f4e30d32894c5b8159f23f8259914cf566c 100644
(file)
--- a/
include/llvm/PassAnalysisSupport.h
+++ b/
include/llvm/PassAnalysisSupport.h
@@
-49,37
+49,34
@@
public:
// addRequired - Add the specified ID to the required set of the usage info
// for a pass.
//
// addRequired - Add the specified ID to the required set of the usage info
// for a pass.
//
- AnalysisUsage &addRequiredID(const void *ID);
- AnalysisUsage &addRequiredID(char &ID);
+ AnalysisUsage &addRequiredID(AnalysisID ID);
template<class PassClass>
AnalysisUsage &addRequired() {
template<class PassClass>
AnalysisUsage &addRequired() {
- return addRequiredID(Pass
Class::ID
);
+ return addRequiredID(Pass
::getClassPassInfo<PassClass>()
);
}
}
- AnalysisUsage &addRequiredTransitiveID(
char &
ID);
+ AnalysisUsage &addRequiredTransitiveID(
AnalysisID
ID);
template<class PassClass>
AnalysisUsage &addRequiredTransitive() {
template<class PassClass>
AnalysisUsage &addRequiredTransitive() {
- return addRequiredTransitiveID(PassClass::ID);
+ AnalysisID ID = Pass::getClassPassInfo<PassClass>();
+ return addRequiredTransitiveID(ID);
}
// addPreserved - Add the specified ID to the set of analyses preserved by
// this pass
//
}
// addPreserved - Add the specified ID to the set of analyses preserved by
// this pass
//
- AnalysisUsage &addPreservedID(
const void *
ID) {
+ AnalysisUsage &addPreservedID(
AnalysisID
ID) {
Preserved.push_back(ID);
return *this;
}
Preserved.push_back(ID);
return *this;
}
- AnalysisUsage &addPreservedID(char &ID) {
- Preserved.push_back(&ID);
- return *this;
- }
// addPreserved - Add the specified Pass class to the set of analyses
// preserved by this pass.
//
template<class PassClass>
AnalysisUsage &addPreserved() {
// addPreserved - Add the specified Pass class to the set of analyses
// preserved by this pass.
//
template<class PassClass>
AnalysisUsage &addPreserved() {
- Preserved.push_back(&PassClass::ID);
+ assert(Pass::getClassPassInfo<PassClass>() && "Pass class not registered!");
+ Preserved.push_back(Pass::getClassPassInfo<PassClass>());
return *this;
}
return *this;
}
@@
-88,7
+85,12
@@
public:
// This can be useful when a pass is trivially preserved, but may not be
// linked in. Be careful about spelling!
//
// This can be useful when a pass is trivially preserved, but may not be
// linked in. Be careful about spelling!
//
- AnalysisUsage &addPreserved(StringRef Arg);
+ AnalysisUsage &addPreserved(StringRef Arg) {
+ const PassInfo *PI = Pass::lookupPassInfo(Arg);
+ // If the pass exists, preserve it. Otherwise silently do nothing.
+ if (PI) Preserved.push_back(PI);
+ return *this;
+ }
// setPreservesAll - Set by analyses that do not transform their input at all
void setPreservesAll() { PreservesAll = true; }
// setPreservesAll - Set by analyses that do not transform their input at all
void setPreservesAll() { PreservesAll = true; }
@@
-128,7
+130,7
@@
public:
inline PMDataManager &getPMDataManager() { return PM; }
// Find pass that is implementing PI.
inline PMDataManager &getPMDataManager() { return PM; }
// Find pass that is implementing PI.
- Pass *findImplPass(
AnalysisID
PI) {
+ Pass *findImplPass(
const PassInfo *
PI) {
Pass *ResultPass = 0;
for (unsigned i = 0; i < AnalysisImpls.size() ; ++i) {
if (AnalysisImpls[i].first == PI) {
Pass *ResultPass = 0;
for (unsigned i = 0; i < AnalysisImpls.size() ; ++i) {
if (AnalysisImpls[i].first == PI) {
@@
-140,10
+142,10
@@
public:
}
// Find pass that is implementing PI. Initialize pass for Function F.
}
// Find pass that is implementing PI. Initialize pass for Function F.
- Pass *findImplPass(Pass *P,
AnalysisID
PI, Function &F);
+ Pass *findImplPass(Pass *P,
const PassInfo *
PI, Function &F);
- void addAnalysisImplsPair(
AnalysisID
PI, Pass *P) {
- std::pair<
AnalysisID
, Pass*> pir = std::make_pair(PI,P);
+ void addAnalysisImplsPair(
const PassInfo *
PI, Pass *P) {
+ std::pair<
const PassInfo*
, Pass*> pir = std::make_pair(PI,P);
AnalysisImpls.push_back(pir);
}
AnalysisImpls.push_back(pir);
}
@@
-158,7
+160,7
@@
public:
// AnalysisImpls - This keeps track of which passes implements the interfaces
// that are required by the current pass (to implement getAnalysis()).
// AnalysisImpls - This keeps track of which passes implements the interfaces
// that are required by the current pass (to implement getAnalysis()).
- std::vector<std::pair<
AnalysisID
, Pass*> > AnalysisImpls;
+ std::vector<std::pair<
const PassInfo*
, Pass*> > AnalysisImpls;
private:
// PassManager that is used to resolve analysis info
private:
// PassManager that is used to resolve analysis info
@@
-177,7
+179,8
@@
template<typename AnalysisType>
AnalysisType *Pass::getAnalysisIfAvailable() const {
assert(Resolver && "Pass not resident in a PassManager object!");
AnalysisType *Pass::getAnalysisIfAvailable() const {
assert(Resolver && "Pass not resident in a PassManager object!");
- const void *PI = &AnalysisType::ID;
+ const PassInfo *PI = getClassPassInfo<AnalysisType>();
+ if (PI == 0) return 0;
Pass *ResultPass = Resolver->getAnalysisIfAvailable(PI, true);
if (ResultPass == 0) return 0;
Pass *ResultPass = Resolver->getAnalysisIfAvailable(PI, true);
if (ResultPass == 0) return 0;
@@
-196,11
+199,11
@@
AnalysisType *Pass::getAnalysisIfAvailable() const {
template<typename AnalysisType>
AnalysisType &Pass::getAnalysis() const {
assert(Resolver && "Pass has not been inserted into a PassManager object!");
template<typename AnalysisType>
AnalysisType &Pass::getAnalysis() const {
assert(Resolver && "Pass has not been inserted into a PassManager object!");
- return getAnalysisID<AnalysisType>(
&AnalysisType::ID
);
+ return getAnalysisID<AnalysisType>(
getClassPassInfo<AnalysisType>()
);
}
template<typename AnalysisType>
}
template<typename AnalysisType>
-AnalysisType &Pass::getAnalysisID(
AnalysisID
PI) const {
+AnalysisType &Pass::getAnalysisID(
const PassInfo *
PI) const {
assert(PI && "getAnalysis for unregistered pass!");
assert(Resolver&&"Pass has not been inserted into a PassManager object!");
// PI *must* appear in AnalysisImpls. Because the number of passes used
assert(PI && "getAnalysis for unregistered pass!");
assert(Resolver&&"Pass has not been inserted into a PassManager object!");
// PI *must* appear in AnalysisImpls. Because the number of passes used
@@
-226,11
+229,11
@@
template<typename AnalysisType>
AnalysisType &Pass::getAnalysis(Function &F) {
assert(Resolver &&"Pass has not been inserted into a PassManager object!");
AnalysisType &Pass::getAnalysis(Function &F) {
assert(Resolver &&"Pass has not been inserted into a PassManager object!");
- return getAnalysisID<AnalysisType>(
&AnalysisType::ID
, F);
+ return getAnalysisID<AnalysisType>(
getClassPassInfo<AnalysisType>()
, F);
}
template<typename AnalysisType>
}
template<typename AnalysisType>
-AnalysisType &Pass::getAnalysisID(
AnalysisID
PI, Function &F) {
+AnalysisType &Pass::getAnalysisID(
const PassInfo *
PI, Function &F) {
assert(PI && "getAnalysis for unregistered pass!");
assert(Resolver && "Pass has not been inserted into a PassManager object!");
// PI *must* appear in AnalysisImpls. Because the number of passes used
assert(PI && "getAnalysis for unregistered pass!");
assert(Resolver && "Pass has not been inserted into a PassManager object!");
// PI *must* appear in AnalysisImpls. Because the number of passes used
diff --git
a/include/llvm/PassManagers.h
b/include/llvm/PassManagers.h
index 1f9b9821d59f7d42fbe9a19cfa3666ce3a4848bb..81b7e7af816e4a1f32f957e7905f421f4fb0377b 100644
(file)
--- a/
include/llvm/PassManagers.h
+++ b/
include/llvm/PassManagers.h
@@
-302,7
+302,7
@@
public:
/// through getAnalysis interface.
virtual void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass);
/// through getAnalysis interface.
virtual void addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass);
- virtual Pass *getOnTheFlyPass(Pass *P,
AnalysisID
PI, Function &F);
+ virtual Pass *getOnTheFlyPass(Pass *P,
const PassInfo *
PI, Function &F);
/// Initialize available analysis information.
void initializeAnalysisInfo() {
/// Initialize available analysis information.
void initializeAnalysisInfo() {
@@
-414,7
+414,7
@@
class FPPassManager : public ModulePass, public PMDataManager {
public:
static char ID;
explicit FPPassManager(int Depth)
public:
static char ID;
explicit FPPassManager(int Depth)
- : ModulePass(ID), PMDataManager(Depth) { }
+ : ModulePass(
&
ID), PMDataManager(Depth) { }
/// run - Execute all of the passes scheduled for execution. Keep track of
/// whether any of the passes modifies the module, and if so, return true.
/// run - Execute all of the passes scheduled for execution. Keep track of
/// whether any of the passes modifies the module, and if so, return true.
diff --git
a/include/llvm/PassRegistry.h
b/include/llvm/PassRegistry.h
index 59071391520a29aaff2cf102d0865588b2f7c3d1..193ecfd1b584d07668c4822e4a793e92d264eb2b 100644
(file)
--- a/
include/llvm/PassRegistry.h
+++ b/
include/llvm/PassRegistry.h
@@
-34,7
+34,7
@@
class PassRegistry {
mutable sys::SmartMutex<true> Lock;
/// PassInfoMap - Keep track of the PassInfo object for each registered pass.
mutable sys::SmartMutex<true> Lock;
/// PassInfoMap - Keep track of the PassInfo object for each registered pass.
- typedef std::map<
const void*
, const PassInfo*> MapType;
+ typedef std::map<
intptr_t
, const PassInfo*> MapType;
MapType PassInfoMap;
typedef StringMap<const PassInfo*> StringMapType;
MapType PassInfoMap;
typedef StringMap<const PassInfo*> StringMapType;
@@
-51,14
+51,14
@@
class PassRegistry {
public:
static PassRegistry *getPassRegistry();
public:
static PassRegistry *getPassRegistry();
- const PassInfo *getPassInfo(
const void *
TI) const;
+ const PassInfo *getPassInfo(
intptr_t
TI) const;
const PassInfo *getPassInfo(StringRef Arg) const;
void registerPass(const PassInfo &PI);
void unregisterPass(const PassInfo &PI);
/// Analysis Group Mechanisms.
const PassInfo *getPassInfo(StringRef Arg) const;
void registerPass(const PassInfo &PI);
void unregisterPass(const PassInfo &PI);
/// Analysis Group Mechanisms.
- void registerAnalysisGroup(
const void *InterfaceID, const void *
PassID,
+ void registerAnalysisGroup(
intptr_t InterfaceID, intptr_t
PassID,
PassInfo& Registeree, bool isDefault);
void enumerateWith(PassRegistrationListener *L);
PassInfo& Registeree, bool isDefault);
void enumerateWith(PassRegistrationListener *L);
diff --git
a/include/llvm/PassSupport.h
b/include/llvm/PassSupport.h
index ee987131726af7b20ce7eab5a96016f3b1803227..07dc7f1d15cde7f349e048a1959085419b4ad240 100644
(file)
--- a/
include/llvm/PassSupport.h
+++ b/
include/llvm/PassSupport.h
@@
-41,7
+41,7
@@
public:
private:
const char *const PassName; // Nice name for Pass
const char *const PassArgument; // Command Line argument to run this pass
private:
const char *const PassName; // Nice name for Pass
const char *const PassArgument; // Command Line argument to run this pass
- const
void *
PassID;
+ const
intptr_t
PassID;
const bool IsCFGOnlyPass; // Pass only looks at the CFG.
const bool IsAnalysis; // True if an analysis pass.
const bool IsAnalysisGroup; // True if an analysis group.
const bool IsCFGOnlyPass; // Pass only looks at the CFG.
const bool IsAnalysis; // True if an analysis pass.
const bool IsAnalysisGroup; // True if an analysis group.
@@
-52,7
+52,7
@@
private:
public:
/// PassInfo ctor - Do not call this directly, this should only be invoked
/// through RegisterPass.
public:
/// PassInfo ctor - Do not call this directly, this should only be invoked
/// through RegisterPass.
- PassInfo(const char *name, const char *arg,
const void *
pi,
+ PassInfo(const char *name, const char *arg,
intptr_t
pi,
NormalCtor_t normal = 0,
bool isCFGOnly = false, bool is_analysis = false)
: PassName(name), PassArgument(arg), PassID(pi),
NormalCtor_t normal = 0,
bool isCFGOnly = false, bool is_analysis = false)
: PassName(name), PassArgument(arg), PassID(pi),
@@
-63,7
+63,7
@@
public:
/// PassInfo ctor - Do not call this directly, this should only be invoked
/// through RegisterPass. This version is for use by analysis groups; it
/// does not auto-register the pass.
/// PassInfo ctor - Do not call this directly, this should only be invoked
/// through RegisterPass. This version is for use by analysis groups; it
/// does not auto-register the pass.
- PassInfo(const char *name,
const void *
pi)
+ PassInfo(const char *name,
intptr_t
pi)
: PassName(name), PassArgument(""), PassID(pi),
IsCFGOnlyPass(false),
IsAnalysis(false), IsAnalysisGroup(true), NormalCtor(0) {
: PassName(name), PassArgument(""), PassID(pi),
IsCFGOnlyPass(false),
IsAnalysis(false), IsAnalysisGroup(true), NormalCtor(0) {
@@
-81,11
+81,11
@@
public:
/// getTypeInfo - Return the id object for the pass...
/// TODO : Rename
/// getTypeInfo - Return the id object for the pass...
/// TODO : Rename
-
const void *
getTypeInfo() const { return PassID; }
+
intptr_t
getTypeInfo() const { return PassID; }
/// Return true if this PassID implements the specified ID pointer.
/// Return true if this PassID implements the specified ID pointer.
- bool isPassID(
const
void *IDPtr) const {
- return PassID == IDPtr;
+ bool isPassID(void *IDPtr) const {
+ return PassID ==
(intptr_t)
IDPtr;
}
/// isAnalysisGroup - Return true if this is an analysis group, not a normal
}
/// isAnalysisGroup - Return true if this is an analysis group, not a normal
@@
-161,7
+161,7
@@
struct RegisterPass : public PassInfo {
// Register Pass using default constructor...
RegisterPass(const char *PassArg, const char *Name, bool CFGOnly = false,
bool is_analysis = false)
// Register Pass using default constructor...
RegisterPass(const char *PassArg, const char *Name, bool CFGOnly = false,
bool is_analysis = false)
- : PassInfo(Name, PassArg,
&passName::ID
,
+ : PassInfo(Name, PassArg,
intptr_t(&passName::ID)
,
PassInfo::NormalCtor_t(callDefaultCtor<passName>),
CFGOnly, is_analysis) {
PassInfo::NormalCtor_t(callDefaultCtor<passName>),
CFGOnly, is_analysis) {
@@
-191,8
+191,8
@@
struct RegisterPass : public PassInfo {
class RegisterAGBase : public PassInfo {
protected:
RegisterAGBase(const char *Name,
class RegisterAGBase : public PassInfo {
protected:
RegisterAGBase(const char *Name,
-
const void *
InterfaceID,
-
const void *
PassID = 0,
+
intptr_t
InterfaceID,
+
intptr_t
PassID = 0,
bool isDefault = false);
};
bool isDefault = false);
};
@@
-200,12
+200,12
@@
template<typename Interface, bool Default = false>
struct RegisterAnalysisGroup : public RegisterAGBase {
explicit RegisterAnalysisGroup(PassInfo &RPB)
: RegisterAGBase(RPB.getPassName(),
struct RegisterAnalysisGroup : public RegisterAGBase {
explicit RegisterAnalysisGroup(PassInfo &RPB)
: RegisterAGBase(RPB.getPassName(),
-
&Interface::ID
, RPB.getTypeInfo(),
+
intptr_t(&Interface::ID)
, RPB.getTypeInfo(),
Default) {
}
explicit RegisterAnalysisGroup(const char *Name)
Default) {
}
explicit RegisterAnalysisGroup(const char *Name)
- : RegisterAGBase(Name,
&Interface::ID
) {
+ : RegisterAGBase(Name,
intptr_t(&Interface::ID)
) {
}
};
}
};
diff --git
a/include/llvm/Target/TargetData.h
b/include/llvm/Target/TargetData.h
index f72461f803b2fa523669ba4afce2f794ba56a99c..cc88dae9fa689c2b5b778def250e78680bc4d2c6 100644
(file)
--- a/
include/llvm/Target/TargetData.h
+++ b/
include/llvm/Target/TargetData.h
@@
-110,7
+110,7
@@
public:
/// Constructs a TargetData from a specification string. See init().
explicit TargetData(StringRef TargetDescription)
/// Constructs a TargetData from a specification string. See init().
explicit TargetData(StringRef TargetDescription)
- : ImmutablePass(ID) {
+ : ImmutablePass(
&
ID) {
init(TargetDescription);
}
init(TargetDescription);
}
@@
-118,7
+118,7
@@
public:
explicit TargetData(const Module *M);
TargetData(const TargetData &TD) :
explicit TargetData(const Module *M);
TargetData(const TargetData &TD) :
- ImmutablePass(ID),
+ ImmutablePass(
&
ID),
LittleEndian(TD.isLittleEndian()),
PointerMemSize(TD.PointerMemSize),
PointerABIAlign(TD.PointerABIAlign),
LittleEndian(TD.isLittleEndian()),
PointerMemSize(TD.PointerMemSize),
PointerABIAlign(TD.PointerABIAlign),
diff --git
a/include/llvm/Transforms/IPO/InlinerPass.h
b/include/llvm/Transforms/IPO/InlinerPass.h
index 3ac4c591c94f5d280887cf95ce0fb41e9927d6c5..6af7ed7bdbfcacbb8122a61c780717090c85037e 100644
(file)
--- a/
include/llvm/Transforms/IPO/InlinerPass.h
+++ b/
include/llvm/Transforms/IPO/InlinerPass.h
@@
-30,8
+30,8
@@
namespace llvm {
/// perform the inlining operations that do not depend on the policy.
///
struct Inliner : public CallGraphSCCPass {
/// perform the inlining operations that do not depend on the policy.
///
struct Inliner : public CallGraphSCCPass {
- explicit Inliner(
char &
ID);
- explicit Inliner(
char &
ID, int Threshold);
+ explicit Inliner(
void *
ID);
+ explicit Inliner(
void *
ID, int Threshold);
/// getAnalysisUsage - For this class, we declare that we require and preserve
/// the call graph. If the derived class implements this method, it should
/// getAnalysisUsage - For this class, we declare that we require and preserve
/// the call graph. If the derived class implements this method, it should
diff --git
a/include/llvm/Transforms/Scalar.h
b/include/llvm/Transforms/Scalar.h
index bd5b16999f79523576c15a775e771a97dcbc9b83..4d1d8636f612065bf83d237ab169c51e7e4563ba 100644
(file)
--- a/
include/llvm/Transforms/Scalar.h
+++ b/
include/llvm/Transforms/Scalar.h
@@
-149,7
+149,7
@@
Pass *createLoopIndexSplitPass();
// ret i32 %Y
//
FunctionPass *createPromoteMemoryToRegisterPass();
// ret i32 %Y
//
FunctionPass *createPromoteMemoryToRegisterPass();
-extern c
har &
PromoteMemoryToRegisterID;
+extern c
onst PassInfo *const
PromoteMemoryToRegisterID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-158,7
+158,7
@@
extern char &PromoteMemoryToRegisterID;
// hacking easier.
//
FunctionPass *createDemoteRegisterToMemoryPass();
// hacking easier.
//
FunctionPass *createDemoteRegisterToMemoryPass();
-extern c
har &
DemoteRegisterToMemoryID;
+extern c
onst PassInfo *const
DemoteRegisterToMemoryID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-202,7
+202,7
@@
FunctionPass *createCFGSimplificationPass();
// (set, immediate dominators, tree, and frontier) information.
//
FunctionPass *createBreakCriticalEdgesPass();
// (set, immediate dominators, tree, and frontier) information.
//
FunctionPass *createBreakCriticalEdgesPass();
-extern c
har &
BreakCriticalEdgesID;
+extern c
onst PassInfo *const
BreakCriticalEdgesID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-213,7
+213,7
@@
extern char &BreakCriticalEdgesID;
// AU.addRequiredID(LoopSimplifyID);
//
Pass *createLoopSimplifyPass();
// AU.addRequiredID(LoopSimplifyID);
//
Pass *createLoopSimplifyPass();
-extern c
har &
LoopSimplifyID;
+extern c
onst PassInfo *const
LoopSimplifyID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-228,7
+228,7
@@
FunctionPass *createTailCallEliminationPass();
// chained binary branch instructions.
//
FunctionPass *createLowerSwitchPass();
// chained binary branch instructions.
//
FunctionPass *createLowerSwitchPass();
-extern c
har &
LowerSwitchID;
+extern c
onst PassInfo *const
LowerSwitchID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-243,7
+243,7
@@
extern char &LowerSwitchID;
FunctionPass *createLowerInvokePass(const TargetLowering *TLI = 0);
FunctionPass *createLowerInvokePass(const TargetLowering *TLI,
bool useExpensiveEHSupport);
FunctionPass *createLowerInvokePass(const TargetLowering *TLI = 0);
FunctionPass *createLowerInvokePass(const TargetLowering *TLI,
bool useExpensiveEHSupport);
-extern c
har &
LowerInvokePassID;
+extern c
onst PassInfo *const
LowerInvokePassID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-258,7
+258,7
@@
FunctionPass *createBlockPlacementPass();
// optimizations.
//
Pass *createLCSSAPass();
// optimizations.
//
Pass *createLCSSAPass();
-extern c
har &
LCSSAID;
+extern c
onst PassInfo *const
LCSSAID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
@@
-304,7
+304,7
@@
FunctionPass *createCodeGenPreparePass(const TargetLowering *TLI = 0);
// InstructionNamer - Give any unnamed non-void instructions "tmp" names.
//
FunctionPass *createInstructionNamerPass();
// InstructionNamer - Give any unnamed non-void instructions "tmp" names.
//
FunctionPass *createInstructionNamerPass();
-extern c
har &
InstructionNamerID;
+extern c
onst PassInfo *const
InstructionNamerID;
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
//
diff --git
a/include/llvm/Transforms/Utils/SSI.h
b/include/llvm/Transforms/Utils/SSI.h
index 864e1197a9ffef6f8f1b06dacb02c6d18f0d997c..198fc827bb0b34ac079c44c3de897077af3139d6 100644
(file)
--- a/
include/llvm/Transforms/Utils/SSI.h
+++ b/
include/llvm/Transforms/Utils/SSI.h
@@
-39,7
+39,7
@@
namespace llvm {
public:
static char ID; // Pass identification, replacement for typeid.
SSI() :
public:
static char ID; // Pass identification, replacement for typeid.
SSI() :
- FunctionPass(ID) {
+ FunctionPass(
&
ID) {
}
void getAnalysisUsage(AnalysisUsage &AU) const;
}
void getAnalysisUsage(AnalysisUsage &AU) const;
diff --git
a/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
b/include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
index a5060e6f5860500b2ae7bdb948355b6f957a27a1..c2d09935e76cff77f522e1e0f984f011afc88c4d 100644
(file)
--- a/
include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
+++ b/
include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
@@
-26,7
+26,7
@@
struct UnifyFunctionExitNodes : public FunctionPass {
BasicBlock *ReturnBlock, *UnwindBlock, *UnreachableBlock;
public:
static char ID; // Pass identification, replacement for typeid
BasicBlock *ReturnBlock, *UnwindBlock, *UnreachableBlock;
public:
static char ID; // Pass identification, replacement for typeid
- UnifyFunctionExitNodes() : FunctionPass(ID),
+ UnifyFunctionExitNodes() : FunctionPass(
&
ID),
ReturnBlock(0), UnwindBlock(0) {}
// We can preserve non-critical-edgeness when we unify function exit nodes
ReturnBlock(0), UnwindBlock(0) {}
// We can preserve non-critical-edgeness when we unify function exit nodes
diff --git
a/lib/Analysis/AliasAnalysisCounter.cpp
b/lib/Analysis/AliasAnalysisCounter.cpp
index b17804186a63a341e06952e1f88ce1e27a1728bb..7631e3655f3d6b2c2b4f8570f99d7ba8a2d461b7 100644
(file)
--- a/
lib/Analysis/AliasAnalysisCounter.cpp
+++ b/
lib/Analysis/AliasAnalysisCounter.cpp
@@
-34,7
+34,7
@@
namespace {
Module *M;
public:
static char ID; // Class identification, replacement for typeinfo
Module *M;
public:
static char ID; // Class identification, replacement for typeinfo
- AliasAnalysisCounter() : ModulePass(ID) {
+ AliasAnalysisCounter() : ModulePass(
&
ID) {
No = May = Must = 0;
NoMR = JustRef = JustMod = MR = 0;
}
No = May = Must = 0;
NoMR = JustRef = JustMod = MR = 0;
}
@@
-87,8
+87,8
@@
namespace {
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &AliasAnalysis::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&AliasAnalysis::ID)
)
return (AliasAnalysis*)this;
return this;
}
return (AliasAnalysis*)this;
return this;
}
diff --git
a/lib/Analysis/AliasAnalysisEvaluator.cpp
b/lib/Analysis/AliasAnalysisEvaluator.cpp
index ce363cbc7bbd6140f41d669b434a6476c05d4695..76a452e2e7daf09c5ff1b605d623533d28235a41 100644
(file)
--- a/
lib/Analysis/AliasAnalysisEvaluator.cpp
+++ b/
lib/Analysis/AliasAnalysisEvaluator.cpp
@@
-50,7
+50,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- AAEval() : FunctionPass(ID) {}
+ AAEval() : FunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<AliasAnalysis>();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<AliasAnalysis>();
diff --git
a/lib/Analysis/AliasDebugger.cpp
b/lib/Analysis/AliasDebugger.cpp
index b9fe64608c01c49323fa2b21b021f5d9007dd668..8209bb624a2dd011cd2e253270210cff397d1a11 100644
(file)
--- a/
lib/Analysis/AliasDebugger.cpp
+++ b/
lib/Analysis/AliasDebugger.cpp
@@
-39,7
+39,7
@@
namespace {
public:
static char ID; // Class identification, replacement for typeinfo
public:
static char ID; // Class identification, replacement for typeinfo
- AliasDebugger() : ModulePass(ID) {}
+ AliasDebugger() : ModulePass(
&
ID) {}
bool runOnModule(Module &M) {
InitializeAliasAnalysis(this); // set up super class
bool runOnModule(Module &M) {
InitializeAliasAnalysis(this); // set up super class
@@
-83,8
+83,8
@@
namespace {
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &AliasAnalysis::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&AliasAnalysis::ID)
)
return (AliasAnalysis*)this;
return this;
}
return (AliasAnalysis*)this;
return this;
}
diff --git
a/lib/Analysis/AliasSetTracker.cpp
b/lib/Analysis/AliasSetTracker.cpp
index 46d8ee6fab31944934894fdaf25185b90c5b2cee..7e11ce6360b0a4d366e85e495dd715ea432914fb 100644
(file)
--- a/
lib/Analysis/AliasSetTracker.cpp
+++ b/
lib/Analysis/AliasSetTracker.cpp
@@
-579,7
+579,7
@@
namespace {
AliasSetTracker *Tracker;
public:
static char ID; // Pass identification, replacement for typeid
AliasSetTracker *Tracker;
public:
static char ID; // Pass identification, replacement for typeid
- AliasSetPrinter() : FunctionPass(ID) {}
+ AliasSetPrinter() : FunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/lib/Analysis/BasicAliasAnalysis.cpp
b/lib/Analysis/BasicAliasAnalysis.cpp
index 399f61b80b9fe3499c1872bf040d574855635bd1..35a3bb94f75d4941f019dbdfde5cf9e59d8a048f 100644
(file)
--- a/
lib/Analysis/BasicAliasAnalysis.cpp
+++ b/
lib/Analysis/BasicAliasAnalysis.cpp
@@
-137,8
+137,8
@@
namespace {
///
struct NoAA : public ImmutablePass, public AliasAnalysis {
static char ID; // Class identification, replacement for typeinfo
///
struct NoAA : public ImmutablePass, public AliasAnalysis {
static char ID; // Class identification, replacement for typeinfo
- NoAA() : ImmutablePass(ID) {}
- explicit NoAA(
char &
PID) : ImmutablePass(PID) { }
+ NoAA() : ImmutablePass(
&
ID) {}
+ explicit NoAA(
void *
PID) : ImmutablePass(PID) { }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
}
@@
-215,7
+215,7
@@
namespace {
/// derives from the NoAA class.
struct BasicAliasAnalysis : public NoAA {
static char ID; // Class identification, replacement for typeinfo
/// derives from the NoAA class.
struct BasicAliasAnalysis : public NoAA {
static char ID; // Class identification, replacement for typeinfo
- BasicAliasAnalysis() : NoAA(ID) {}
+ BasicAliasAnalysis() : NoAA(
&
ID) {}
AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size) {
AliasResult alias(const Value *V1, unsigned V1Size,
const Value *V2, unsigned V2Size) {
diff --git
a/lib/Analysis/CFGPrinter.cpp
b/lib/Analysis/CFGPrinter.cpp
index f28b2dc787d82048116557b885caca9aec2db36c..da2f0a6dbf0c31917b78133476d10e188339f061 100644
(file)
--- a/
lib/Analysis/CFGPrinter.cpp
+++ b/
lib/Analysis/CFGPrinter.cpp
@@
-25,7
+25,7
@@
using namespace llvm;
namespace {
struct CFGViewer : public FunctionPass {
static char ID; // Pass identifcation, replacement for typeid
namespace {
struct CFGViewer : public FunctionPass {
static char ID; // Pass identifcation, replacement for typeid
- CFGViewer() : FunctionPass(ID) {}
+ CFGViewer() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F) {
F.viewCFG();
virtual bool runOnFunction(Function &F) {
F.viewCFG();
@@
-46,7
+46,7
@@
INITIALIZE_PASS(CFGViewer, "view-cfg", "View CFG of function", false, true);
namespace {
struct CFGOnlyViewer : public FunctionPass {
static char ID; // Pass identifcation, replacement for typeid
namespace {
struct CFGOnlyViewer : public FunctionPass {
static char ID; // Pass identifcation, replacement for typeid
- CFGOnlyViewer() : FunctionPass(ID) {}
+ CFGOnlyViewer() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F) {
F.viewCFGOnly();
virtual bool runOnFunction(Function &F) {
F.viewCFGOnly();
@@
-68,8
+68,8
@@
INITIALIZE_PASS(CFGOnlyViewer, "view-cfg-only",
namespace {
struct CFGPrinter : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct CFGPrinter : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- CFGPrinter() : FunctionPass(ID) {}
- explicit CFGPrinter(
char &
pid) : FunctionPass(pid) {}
+ CFGPrinter() : FunctionPass(
&
ID) {}
+ explicit CFGPrinter(
void *
pid) : FunctionPass(pid) {}
virtual bool runOnFunction(Function &F) {
std::string Filename = "cfg." + F.getNameStr() + ".dot";
virtual bool runOnFunction(Function &F) {
std::string Filename = "cfg." + F.getNameStr() + ".dot";
@@
-101,8
+101,8
@@
P1("dot-cfg", "Print CFG of function to 'dot' file", false, true);
namespace {
struct CFGOnlyPrinter : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct CFGOnlyPrinter : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- CFGOnlyPrinter() : FunctionPass(ID) {}
- explicit CFGOnlyPrinter(
char &
pid) : FunctionPass(pid) {}
+ CFGOnlyPrinter() : FunctionPass(
&
ID) {}
+ explicit CFGOnlyPrinter(
void *
pid) : FunctionPass(pid) {}
virtual bool runOnFunction(Function &F) {
std::string Filename = "cfg." + F.getNameStr() + ".dot";
errs() << "Writing '" << Filename << "'...";
virtual bool runOnFunction(Function &F) {
std::string Filename = "cfg." + F.getNameStr() + ".dot";
errs() << "Writing '" << Filename << "'...";
diff --git
a/lib/Analysis/DbgInfoPrinter.cpp
b/lib/Analysis/DbgInfoPrinter.cpp
index bdd9a26feacb19e8fabc4213959bb5bd6ca96865..aef79787715b9d05d4e63b24967cf8fe7c9bac0d 100644
(file)
--- a/
lib/Analysis/DbgInfoPrinter.cpp
+++ b/
lib/Analysis/DbgInfoPrinter.cpp
@@
-40,7
+40,7
@@
namespace {
void printVariableDeclaration(const Value *V);
public:
static char ID; // Pass identification
void printVariableDeclaration(const Value *V);
public:
static char ID; // Pass identification
- PrintDbgInfo() : FunctionPass(ID), Out(outs()) {}
+ PrintDbgInfo() : FunctionPass(
&
ID), Out(outs()) {}
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
virtual bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
diff --git
a/lib/Analysis/DomPrinter.cpp
b/lib/Analysis/DomPrinter.cpp
index 9f340942f2ccb6926938210728ee41d4c453c013..83e39f1e6fcb8191b3c9a2760b3ea7761a60792b 100644
(file)
--- a/
lib/Analysis/DomPrinter.cpp
+++ b/
lib/Analysis/DomPrinter.cpp
@@
-86,27
+86,27
@@
namespace {
struct DomViewer
: public DOTGraphTraitsViewer<DominatorTree, false> {
static char ID;
struct DomViewer
: public DOTGraphTraitsViewer<DominatorTree, false> {
static char ID;
- DomViewer() : DOTGraphTraitsViewer<DominatorTree, false>("dom", ID){}
+ DomViewer() : DOTGraphTraitsViewer<DominatorTree, false>("dom",
&
ID){}
};
struct DomOnlyViewer
: public DOTGraphTraitsViewer<DominatorTree, true> {
static char ID;
};
struct DomOnlyViewer
: public DOTGraphTraitsViewer<DominatorTree, true> {
static char ID;
- DomOnlyViewer() : DOTGraphTraitsViewer<DominatorTree, true>("domonly", ID){}
+ DomOnlyViewer() : DOTGraphTraitsViewer<DominatorTree, true>("domonly",
&
ID){}
};
struct PostDomViewer
: public DOTGraphTraitsViewer<PostDominatorTree, false> {
static char ID;
PostDomViewer() :
};
struct PostDomViewer
: public DOTGraphTraitsViewer<PostDominatorTree, false> {
static char ID;
PostDomViewer() :
- DOTGraphTraitsViewer<PostDominatorTree, false>("postdom", ID){}
+ DOTGraphTraitsViewer<PostDominatorTree, false>("postdom",
&
ID){}
};
struct PostDomOnlyViewer
: public DOTGraphTraitsViewer<PostDominatorTree, true> {
static char ID;
PostDomOnlyViewer() :
};
struct PostDomOnlyViewer
: public DOTGraphTraitsViewer<PostDominatorTree, true> {
static char ID;
PostDomOnlyViewer() :
- DOTGraphTraitsViewer<PostDominatorTree, true>("postdomonly", ID){}
+ DOTGraphTraitsViewer<PostDominatorTree, true>("postdomonly",
&
ID){}
};
} // end anonymous namespace
};
} // end anonymous namespace
@@
-133,27
+133,27
@@
namespace {
struct DomPrinter
: public DOTGraphTraitsPrinter<DominatorTree, false> {
static char ID;
struct DomPrinter
: public DOTGraphTraitsPrinter<DominatorTree, false> {
static char ID;
- DomPrinter() : DOTGraphTraitsPrinter<DominatorTree, false>("dom", ID) {}
+ DomPrinter() : DOTGraphTraitsPrinter<DominatorTree, false>("dom",
&
ID) {}
};
struct DomOnlyPrinter
: public DOTGraphTraitsPrinter<DominatorTree, true> {
static char ID;
};
struct DomOnlyPrinter
: public DOTGraphTraitsPrinter<DominatorTree, true> {
static char ID;
- DomOnlyPrinter() : DOTGraphTraitsPrinter<DominatorTree, true>("domonly", ID) {}
+ DomOnlyPrinter() : DOTGraphTraitsPrinter<DominatorTree, true>("domonly",
&
ID) {}
};
struct PostDomPrinter
: public DOTGraphTraitsPrinter<PostDominatorTree, false> {
static char ID;
PostDomPrinter() :
};
struct PostDomPrinter
: public DOTGraphTraitsPrinter<PostDominatorTree, false> {
static char ID;
PostDomPrinter() :
- DOTGraphTraitsPrinter<PostDominatorTree, false>("postdom", ID) {}
+ DOTGraphTraitsPrinter<PostDominatorTree, false>("postdom",
&
ID) {}
};
struct PostDomOnlyPrinter
: public DOTGraphTraitsPrinter<PostDominatorTree, true> {
static char ID;
PostDomOnlyPrinter() :
};
struct PostDomOnlyPrinter
: public DOTGraphTraitsPrinter<PostDominatorTree, true> {
static char ID;
PostDomOnlyPrinter() :
- DOTGraphTraitsPrinter<PostDominatorTree, true>("postdomonly", ID) {}
+ DOTGraphTraitsPrinter<PostDominatorTree, true>("postdomonly",
&
ID) {}
};
} // end anonymous namespace
};
} // end anonymous namespace
diff --git
a/lib/Analysis/IPA/CallGraph.cpp
b/lib/Analysis/IPA/CallGraph.cpp
index b3635283fda58b1aa9a178d66b3ec1ce4c9511fd..1af0055ce541151460e43daf4e5c428d59e12055 100644
(file)
--- a/
lib/Analysis/IPA/CallGraph.cpp
+++ b/
lib/Analysis/IPA/CallGraph.cpp
@@
-42,7
+42,7
@@
class BasicCallGraph : public ModulePass, public CallGraph {
public:
static char ID; // Class identification, replacement for typeinfo
public:
static char ID; // Class identification, replacement for typeinfo
- BasicCallGraph() : ModulePass(ID), Root(0),
+ BasicCallGraph() : ModulePass(
&
ID), Root(0),
ExternalCallingNode(0), CallsExternalNode(0) {}
// runOnModule - Compute the call graph for the specified module.
ExternalCallingNode(0), CallsExternalNode(0) {}
// runOnModule - Compute the call graph for the specified module.
@@
-86,8
+86,8
@@
public:
/// an analysis interface through multiple inheritance. If needed, it should
/// override this to adjust the this pointer as needed for the specified pass
/// info.
/// an analysis interface through multiple inheritance. If needed, it should
/// override this to adjust the this pointer as needed for the specified pass
/// info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &CallGraph::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&CallGraph::ID)
)
return (CallGraph*)this;
return this;
}
return (CallGraph*)this;
return this;
}
diff --git
a/lib/Analysis/IPA/CallGraphSCCPass.cpp
b/lib/Analysis/IPA/CallGraphSCCPass.cpp
index b7a27cb288d92b564b457bec01a9c23c882c45db..5c4b2c3a7933cc87c509b630ba4634ef87d7d200 100644
(file)
--- a/
lib/Analysis/IPA/CallGraphSCCPass.cpp
+++ b/
lib/Analysis/IPA/CallGraphSCCPass.cpp
@@
-45,7
+45,7
@@
class CGPassManager : public ModulePass, public PMDataManager {
public:
static char ID;
explicit CGPassManager(int Depth)
public:
static char ID;
explicit CGPassManager(int Depth)
- : ModulePass(ID), PMDataManager(Depth) { }
+ : ModulePass(
&
ID), PMDataManager(Depth) { }
/// run - Execute all of the passes scheduled for execution. Keep track of
/// whether any of the passes modifies the module, and if so, return true.
/// run - Execute all of the passes scheduled for execution. Keep track of
/// whether any of the passes modifies the module, and if so, return true.
@@
-582,9
+582,9
@@
namespace {
public:
static char ID;
public:
static char ID;
- PrintCallGraphPass() : CallGraphSCCPass(ID), Out(dbgs()) {}
+ PrintCallGraphPass() : CallGraphSCCPass(
&
ID), Out(dbgs()) {}
PrintCallGraphPass(const std::string &B, raw_ostream &o)
PrintCallGraphPass(const std::string &B, raw_ostream &o)
- : CallGraphSCCPass(ID), Banner(B), Out(o) {}
+ : CallGraphSCCPass(
&
ID), Banner(B), Out(o) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/lib/Analysis/IPA/GlobalsModRef.cpp
b/lib/Analysis/IPA/GlobalsModRef.cpp
index 43a61d0f60acd110eb9d1bab3caeb118b1928a50..769e4b177ec5412e1636b94a81d710ea75ffb3a1 100644
(file)
--- a/
lib/Analysis/IPA/GlobalsModRef.cpp
+++ b/
lib/Analysis/IPA/GlobalsModRef.cpp
@@
-88,7
+88,7
@@
namespace {
public:
static char ID;
public:
static char ID;
- GlobalsModRef() : ModulePass(ID) {}
+ GlobalsModRef() : ModulePass(
&
ID) {}
bool runOnModule(Module &M) {
InitializeAliasAnalysis(this); // set up super class
bool runOnModule(Module &M) {
InitializeAliasAnalysis(this); // set up super class
@@
-150,8
+150,8
@@
namespace {
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &AliasAnalysis::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&AliasAnalysis::ID)
)
return (AliasAnalysis*)this;
return this;
}
return (AliasAnalysis*)this;
return this;
}
diff --git
a/lib/Analysis/IVUsers.cpp
b/lib/Analysis/IVUsers.cpp
index bd43026015b7b97d1e5037b3d0b1f8fb73752ca2..e2b67e8365e44efb8d42cf69487f17cf573ac050 100644
(file)
--- a/
lib/Analysis/IVUsers.cpp
+++ b/
lib/Analysis/IVUsers.cpp
@@
-140,7
+140,7
@@
IVStrideUse &IVUsers::AddUser(Instruction *User, Value *Operand) {
}
IVUsers::IVUsers()
}
IVUsers::IVUsers()
- : LoopPass(ID) {
+ : LoopPass(
&
ID) {
}
void IVUsers::getAnalysisUsage(AnalysisUsage &AU) const {
}
void IVUsers::getAnalysisUsage(AnalysisUsage &AU) const {
diff --git
a/lib/Analysis/InstCount.cpp
b/lib/Analysis/InstCount.cpp
index dcbcac005a2fc1c1a0bdbc214cd1993ac082725d..6133b8827b38b28707fb529ee562cb008acb1dfe 100644
(file)
--- a/
lib/Analysis/InstCount.cpp
+++ b/
lib/Analysis/InstCount.cpp
@@
-51,7
+51,7
@@
namespace {
}
public:
static char ID; // Pass identification, replacement for typeid
}
public:
static char ID; // Pass identification, replacement for typeid
- InstCount() : FunctionPass(ID) {}
+ InstCount() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Analysis/IntervalPartition.cpp
b/lib/Analysis/IntervalPartition.cpp
index 1c9e14884316b14a5622054a11913726801e2660..0f11e34b600b2b765105eb8f9aa82ee82bc993c8 100644
(file)
--- a/
lib/Analysis/IntervalPartition.cpp
+++ b/
lib/Analysis/IntervalPartition.cpp
@@
-91,7
+91,7
@@
bool IntervalPartition::runOnFunction(Function &F) {
// distinguish it from a copy constructor. Always pass in false for now.
//
IntervalPartition::IntervalPartition(IntervalPartition &IP, bool)
// distinguish it from a copy constructor. Always pass in false for now.
//
IntervalPartition::IntervalPartition(IntervalPartition &IP, bool)
- : FunctionPass(ID) {
+ : FunctionPass(
&
ID) {
assert(IP.getRootInterval() && "Cannot operate on empty IntervalPartitions!");
// Pass false to intervals_begin because we take ownership of it's memory
assert(IP.getRootInterval() && "Cannot operate on empty IntervalPartitions!");
// Pass false to intervals_begin because we take ownership of it's memory
diff --git
a/lib/Analysis/Lint.cpp
b/lib/Analysis/Lint.cpp
index a9d972435f5fb8bbcea035b8d3d586f3283127fa..fe01fd7b222987863265643a177e131cc8026f9a 100644
(file)
--- a/
lib/Analysis/Lint.cpp
+++ b/
lib/Analysis/Lint.cpp
@@
-108,7
+108,7
@@
namespace {
raw_string_ostream MessagesStr;
static char ID; // Pass identification, replacement for typeid
raw_string_ostream MessagesStr;
static char ID; // Pass identification, replacement for typeid
- Lint() : FunctionPass(ID), MessagesStr(Messages) {}
+ Lint() : FunctionPass(
&
ID), MessagesStr(Messages) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Analysis/LiveValues.cpp
b/lib/Analysis/LiveValues.cpp
index 0225f4fa254867b218e8b81d1d7d2f5ca7fa7c4e..3cc58c4feef6b3494006bf3182eab3d2af036e5e 100644
(file)
--- a/
lib/Analysis/LiveValues.cpp
+++ b/
lib/Analysis/LiveValues.cpp
@@
-25,7
+25,7
@@
char LiveValues::ID = 0;
INITIALIZE_PASS(LiveValues, "live-values",
"Value Liveness Analysis", false, true);
INITIALIZE_PASS(LiveValues, "live-values",
"Value Liveness Analysis", false, true);
-LiveValues::LiveValues() : FunctionPass(ID) {}
+LiveValues::LiveValues() : FunctionPass(
&
ID) {}
void LiveValues::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<DominatorTree>();
void LiveValues::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<DominatorTree>();
diff --git
a/lib/Analysis/LoopPass.cpp
b/lib/Analysis/LoopPass.cpp
index 717e0169b78f5311bbe7467358fc06426e676860..2727d2f9465c13102724455a981e0b755465d56e 100644
(file)
--- a/
lib/Analysis/LoopPass.cpp
+++ b/
lib/Analysis/LoopPass.cpp
@@
-30,9
+30,9
@@
private:
public:
static char ID;
public:
static char ID;
- PrintLoopPass() : LoopPass(ID), Out(dbgs()) {}
+ PrintLoopPass() : LoopPass(
&
ID), Out(dbgs()) {}
PrintLoopPass(const std::string &B, raw_ostream &o)
PrintLoopPass(const std::string &B, raw_ostream &o)
- : LoopPass(ID), Banner(B), Out(o) {}
+ : LoopPass(
&
ID), Banner(B), Out(o) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
@@
-59,7
+59,7
@@
char PrintLoopPass::ID = 0;
char LPPassManager::ID = 0;
LPPassManager::LPPassManager(int Depth)
char LPPassManager::ID = 0;
LPPassManager::LPPassManager(int Depth)
- : FunctionPass(ID), PMDataManager(Depth) {
+ : FunctionPass(
&
ID), PMDataManager(Depth) {
skipThisLoop = false;
redoThisLoop = false;
LI = NULL;
skipThisLoop = false;
redoThisLoop = false;
LI = NULL;
diff --git
a/lib/Analysis/MemoryDependenceAnalysis.cpp
b/lib/Analysis/MemoryDependenceAnalysis.cpp
index d18d5ce0ea4cbcedb1dcc855643170a269082bd9..e003d643691231cce97f760b468cda724b96f0c4 100644
(file)
--- a/
lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/
lib/Analysis/MemoryDependenceAnalysis.cpp
@@
-50,7
+50,7
@@
INITIALIZE_PASS(MemoryDependenceAnalysis, "memdep",
"Memory Dependence Analysis", false, true);
MemoryDependenceAnalysis::MemoryDependenceAnalysis()
"Memory Dependence Analysis", false, true);
MemoryDependenceAnalysis::MemoryDependenceAnalysis()
-: FunctionPass(ID), PredCache(0) {
+: FunctionPass(
&
ID), PredCache(0) {
}
MemoryDependenceAnalysis::~MemoryDependenceAnalysis() {
}
}
MemoryDependenceAnalysis::~MemoryDependenceAnalysis() {
}
diff --git
a/lib/Analysis/ModuleDebugInfoPrinter.cpp
b/lib/Analysis/ModuleDebugInfoPrinter.cpp
index 2cc1c2aa005ca9e0af89e44147a9338bcd36da96..cf8988a403cf0d3bfb45c3bd6f01867a13eab71a 100644
(file)
--- a/
lib/Analysis/ModuleDebugInfoPrinter.cpp
+++ b/
lib/Analysis/ModuleDebugInfoPrinter.cpp
@@
-30,7
+30,7
@@
namespace {
DebugInfoFinder Finder;
public:
static char ID; // Pass identification, replacement for typeid
DebugInfoFinder Finder;
public:
static char ID; // Pass identification, replacement for typeid
- ModuleDebugInfoPrinter() : ModulePass(ID) {}
+ ModuleDebugInfoPrinter() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M);
virtual bool runOnModule(Module &M);
diff --git
a/lib/Analysis/PointerTracking.cpp
b/lib/Analysis/PointerTracking.cpp
index 07f46824700a8e0afb02717466fd067d6eb0c128..03d3059fdbb63f918ddfd63f7b80a1ef3f9f08d7 100644
(file)
--- a/
lib/Analysis/PointerTracking.cpp
+++ b/
lib/Analysis/PointerTracking.cpp
@@
-28,7
+28,7
@@
using namespace llvm;
char PointerTracking::ID = 0;
using namespace llvm;
char PointerTracking::ID = 0;
-PointerTracking::PointerTracking() : FunctionPass(ID) {}
+PointerTracking::PointerTracking() : FunctionPass(
&
ID) {}
bool PointerTracking::runOnFunction(Function &F) {
predCache.clear();
bool PointerTracking::runOnFunction(Function &F) {
predCache.clear();
diff --git
a/lib/Analysis/ProfileEstimatorPass.cpp
b/lib/Analysis/ProfileEstimatorPass.cpp
index 062461a87cb0df38c42f2b38c25a5d5c57f08cac..da4ce47692624b0eea0d36e8514e6982407e2ca4 100644
(file)
--- a/
lib/Analysis/ProfileEstimatorPass.cpp
+++ b/
lib/Analysis/ProfileEstimatorPass.cpp
@@
-39,7
+39,7
@@
namespace {
public:
static char ID; // Class identification, replacement for typeinfo
explicit ProfileEstimatorPass(const double execcount = 0)
public:
static char ID; // Class identification, replacement for typeinfo
explicit ProfileEstimatorPass(const double execcount = 0)
- : FunctionPass(ID), ExecCount(execcount) {
+ : FunctionPass(
&
ID), ExecCount(execcount) {
if (execcount == 0) ExecCount = LoopWeight;
}
if (execcount == 0) ExecCount = LoopWeight;
}
@@
-59,8
+59,8
@@
namespace {
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &ProfileInfo::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&ProfileInfo::ID)
)
return (ProfileInfo*)this;
return this;
}
return (ProfileInfo*)this;
return this;
}
@@
-78,7
+78,7
@@
X("profile-estimator", "Estimate profiling information", false, true);
static RegisterAnalysisGroup<ProfileInfo> Y(X);
namespace llvm {
static RegisterAnalysisGroup<ProfileInfo> Y(X);
namespace llvm {
- c
har &ProfileEstimatorPassID = ProfileEstimatorPass::ID
;
+ c
onst PassInfo *ProfileEstimatorPassID = &X
;
FunctionPass *createProfileEstimatorPass() {
return new ProfileEstimatorPass();
FunctionPass *createProfileEstimatorPass() {
return new ProfileEstimatorPass();
diff --git
a/lib/Analysis/ProfileInfo.cpp
b/lib/Analysis/ProfileInfo.cpp
index fc7f28662c017b1670d5a42895730da815832389..eb33e78af7800417238f477728a017c3147fc9b7 100644
(file)
--- a/
lib/Analysis/ProfileInfo.cpp
+++ b/
lib/Analysis/ProfileInfo.cpp
@@
-1076,14
+1076,14
@@
raw_ostream& operator<<(raw_ostream &O, std::pair<const MachineBasicBlock *, con
namespace {
struct NoProfileInfo : public ImmutablePass, public ProfileInfo {
static char ID; // Class identification, replacement for typeinfo
namespace {
struct NoProfileInfo : public ImmutablePass, public ProfileInfo {
static char ID; // Class identification, replacement for typeinfo
- NoProfileInfo() : ImmutablePass(ID) {}
+ NoProfileInfo() : ImmutablePass(
&
ID) {}
/// getAdjustedAnalysisPointer - This method is used when a pass implements
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// getAdjustedAnalysisPointer - This method is used when a pass implements
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &ProfileInfo::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&ProfileInfo::ID)
)
return (ProfileInfo*)this;
return this;
}
return (ProfileInfo*)this;
return this;
}
diff --git
a/lib/Analysis/ProfileInfoLoaderPass.cpp
b/lib/Analysis/ProfileInfoLoaderPass.cpp
index b6434e72340426686e7fdf58fce4434cc3d0ed09..8ea4ecf54f98f6a8510b55e670afcd50ad63aa4f 100644
(file)
--- a/
lib/Analysis/ProfileInfoLoaderPass.cpp
+++ b/
lib/Analysis/ProfileInfoLoaderPass.cpp
@@
-45,7
+45,7
@@
namespace {
public:
static char ID; // Class identification, replacement for typeinfo
explicit LoaderPass(const std::string &filename = "")
public:
static char ID; // Class identification, replacement for typeinfo
explicit LoaderPass(const std::string &filename = "")
- : ModulePass(ID), Filename(filename) {
+ : ModulePass(
&
ID), Filename(filename) {
if (filename.empty()) Filename = ProfileInfoFilename;
}
if (filename.empty()) Filename = ProfileInfoFilename;
}
@@
-67,8
+67,8
@@
namespace {
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &ProfileInfo::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&ProfileInfo::ID)
)
return (ProfileInfo*)this;
return this;
}
return (ProfileInfo*)this;
return this;
}
@@
-84,7
+84,7
@@
X("profile-loader", "Load profile information from llvmprof.out", false, true);
static RegisterAnalysisGroup<ProfileInfo> Y(X);
static RegisterAnalysisGroup<ProfileInfo> Y(X);
-c
har &llvm::ProfileLoaderPassID = LoaderPass::ID
;
+c
onst PassInfo *llvm::ProfileLoaderPassID = &X
;
ModulePass *llvm::createProfileLoaderPass() { return new LoaderPass(); }
ModulePass *llvm::createProfileLoaderPass() { return new LoaderPass(); }
diff --git
a/lib/Analysis/ProfileVerifierPass.cpp
b/lib/Analysis/ProfileVerifierPass.cpp
index 3f01b2d592bc4205604d1d6402f3c66df5d2d6b3..dc1f28a95aee9a741bd272789e3f79628e61d66b 100644
(file)
--- a/
lib/Analysis/ProfileVerifierPass.cpp
+++ b/
lib/Analysis/ProfileVerifierPass.cpp
@@
-59,10
+59,10
@@
namespace llvm {
public:
static char ID; // Class identification, replacement for typeinfo
public:
static char ID; // Class identification, replacement for typeinfo
- explicit ProfileVerifierPassT () : FunctionPass(ID) {
+ explicit ProfileVerifierPassT () : FunctionPass(
&
ID) {
DisableAssertions = ProfileVerifierDisableAssertions;
}
DisableAssertions = ProfileVerifierDisableAssertions;
}
- explicit ProfileVerifierPassT (bool da) : FunctionPass(ID),
+ explicit ProfileVerifierPassT (bool da) : FunctionPass(
&
ID),
DisableAssertions(da) {
}
DisableAssertions(da) {
}
diff --git
a/lib/Analysis/RegionInfo.cpp
b/lib/Analysis/RegionInfo.cpp
index 27cee76e081cf47ec975eaded15a2d472f9426ea..5c9985223162041907131fa90b109094fa4e8989 100644
(file)
--- a/
lib/Analysis/RegionInfo.cpp
+++ b/
lib/Analysis/RegionInfo.cpp
@@
-589,7
+589,7
@@
void RegionInfo::releaseMemory() {
TopLevelRegion = 0;
}
TopLevelRegion = 0;
}
-RegionInfo::RegionInfo() : FunctionPass(ID) {
+RegionInfo::RegionInfo() : FunctionPass(
&
ID) {
TopLevelRegion = 0;
}
TopLevelRegion = 0;
}
diff --git
a/lib/Analysis/RegionPrinter.cpp
b/lib/Analysis/RegionPrinter.cpp
index fee5c1bae97646fbbea01a5c4437b5b9a751c112..67ce05a52f3a27ed38a698055dff11c97a0afc3f 100644
(file)
--- a/
lib/Analysis/RegionPrinter.cpp
+++ b/
lib/Analysis/RegionPrinter.cpp
@@
-121,7
+121,7
@@
namespace {
struct RegionViewer
: public DOTGraphTraitsViewer<RegionInfo, false> {
static char ID;
struct RegionViewer
: public DOTGraphTraitsViewer<RegionInfo, false> {
static char ID;
- RegionViewer() : DOTGraphTraitsViewer<RegionInfo, false>("reg", ID){}
+ RegionViewer() : DOTGraphTraitsViewer<RegionInfo, false>("reg",
&
ID){}
};
char RegionViewer::ID = 0;
};
char RegionViewer::ID = 0;
@@
-131,7
+131,7
@@
INITIALIZE_PASS(RegionViewer, "view-regions", "View regions of function",
struct RegionOnlyViewer
: public DOTGraphTraitsViewer<RegionInfo, true> {
static char ID;
struct RegionOnlyViewer
: public DOTGraphTraitsViewer<RegionInfo, true> {
static char ID;
- RegionOnlyViewer() : DOTGraphTraitsViewer<RegionInfo, true>("regonly", ID){}
+ RegionOnlyViewer() : DOTGraphTraitsViewer<RegionInfo, true>("regonly",
&
ID){}
};
char RegionOnlyViewer::ID = 0;
};
char RegionOnlyViewer::ID = 0;
@@
-143,7
+143,7
@@
struct RegionPrinter
: public DOTGraphTraitsPrinter<RegionInfo, false> {
static char ID;
RegionPrinter() :
: public DOTGraphTraitsPrinter<RegionInfo, false> {
static char ID;
RegionPrinter() :
- DOTGraphTraitsPrinter<RegionInfo, false>("reg", ID) {}
+ DOTGraphTraitsPrinter<RegionInfo, false>("reg",
&
ID) {}
};
} //end anonymous namespace
};
} //end anonymous namespace
@@
-157,7
+157,7
@@
struct RegionOnlyPrinter
: public DOTGraphTraitsPrinter<RegionInfo, true> {
static char ID;
RegionOnlyPrinter() :
: public DOTGraphTraitsPrinter<RegionInfo, true> {
static char ID;
RegionOnlyPrinter() :
- DOTGraphTraitsPrinter<RegionInfo, true>("reg", ID) {}
+ DOTGraphTraitsPrinter<RegionInfo, true>("reg",
&
ID) {}
};
}
};
}
diff --git
a/lib/Analysis/ScalarEvolution.cpp
b/lib/Analysis/ScalarEvolution.cpp
index fb5acb91aee0a21d172a8618cdc62c26ca890697..9aaafafe052342a5b09a265b2cb8eeb72a8227b5 100644
(file)
--- a/
lib/Analysis/ScalarEvolution.cpp
+++ b/
lib/Analysis/ScalarEvolution.cpp
@@
-5742,7
+5742,7
@@
ScalarEvolution::SCEVCallbackVH::SCEVCallbackVH(Value *V, ScalarEvolution *se)
//===----------------------------------------------------------------------===//
ScalarEvolution::ScalarEvolution()
//===----------------------------------------------------------------------===//
ScalarEvolution::ScalarEvolution()
- : FunctionPass(ID), FirstUnknown(0) {
+ : FunctionPass(
&
ID), FirstUnknown(0) {
}
bool ScalarEvolution::runOnFunction(Function &F) {
}
bool ScalarEvolution::runOnFunction(Function &F) {
diff --git
a/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
b/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
index 93b2a8b06fbe9a8a8d8df7ff3a02ffb28e9f85c5..91ae98919d40acdaa0b04a3bdd33a3c9d5333d9d 100644
(file)
--- a/
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
+++ b/
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
@@
-34,14
+34,14
@@
namespace {
public:
static char ID; // Class identification, replacement for typeinfo
public:
static char ID; // Class identification, replacement for typeinfo
- ScalarEvolutionAliasAnalysis() : FunctionPass(ID), SE(0) {}
+ ScalarEvolutionAliasAnalysis() : FunctionPass(
&
ID), SE(0) {}
/// getAdjustedAnalysisPointer - This method is used when a pass implements
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// getAdjustedAnalysisPointer - This method is used when a pass implements
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(
AnalysisID
PI) {
- if (PI
== &AliasAnalysis::ID
)
+ virtual void *getAdjustedAnalysisPointer(
const PassInfo *
PI) {
+ if (PI
->isPassID(&AliasAnalysis::ID)
)
return (AliasAnalysis*)this;
return this;
}
return (AliasAnalysis*)this;
return this;
}
diff --git
a/lib/Analysis/TypeBasedAliasAnalysis.cpp
b/lib/Analysis/TypeBasedAliasAnalysis.cpp
index bbfdcec3f9b4b76ca09d3bdd2ffaa889b59dc688..3e71f226a051d3ec888144f370dde4d58d79dd7e 100644
(file)
--- a/
lib/Analysis/TypeBasedAliasAnalysis.cpp
+++ b/
lib/Analysis/TypeBasedAliasAnalysis.cpp
@@
-82,14
+82,14
@@
namespace {
public AliasAnalysis {
public:
static char ID; // Class identification, replacement for typeinfo
public AliasAnalysis {
public:
static char ID; // Class identification, replacement for typeinfo
- TypeBasedAliasAnalysis() : ImmutablePass(ID) {}
+ TypeBasedAliasAnalysis() : ImmutablePass(
&
ID) {}
/// getAdjustedAnalysisPointer - This method is used when a pass implements
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
/// getAdjustedAnalysisPointer - This method is used when a pass implements
/// an analysis interface through multiple inheritance. If needed, it
/// should override this to adjust the this pointer as needed for the
/// specified pass info.
- virtual void *getAdjustedAnalysisPointer(const
void
*PI) {
- if (PI
== &AliasAnalysis::ID
)
+ virtual void *getAdjustedAnalysisPointer(const
PassInfo
*PI) {
+ if (PI
->isPassID(&AliasAnalysis::ID)
)
return (AliasAnalysis*)this;
return this;
}
return (AliasAnalysis*)this;
return this;
}
diff --git
a/lib/Bitcode/Writer/BitcodeWriterPass.cpp
b/lib/Bitcode/Writer/BitcodeWriterPass.cpp
index 91e115cba6cc44915a9edbaa904ce77af50cdaf0..3a0d3ce0be994066dbf8e834cd2d52e9df834349 100644
(file)
--- a/
lib/Bitcode/Writer/BitcodeWriterPass.cpp
+++ b/
lib/Bitcode/Writer/BitcodeWriterPass.cpp
@@
-21,7
+21,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit WriteBitcodePass(raw_ostream &o)
public:
static char ID; // Pass identification, replacement for typeid
explicit WriteBitcodePass(raw_ostream &o)
- : ModulePass(ID), OS(o) {}
+ : ModulePass(
&
ID), OS(o) {}
const char *getPassName() const { return "Bitcode Writer"; }
const char *getPassName() const { return "Bitcode Writer"; }
diff --git
a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 6e2098d6f5433bd9e3481396e6ad0b0b1c8382d7..1ba63100956a35a2263963ae5c05df0252908ea7 100644
(file)
--- a/
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@
-91,7
+91,7
@@
static unsigned getGVAlignmentLog2(const GlobalValue *GV, const TargetData &TD,
AsmPrinter::AsmPrinter(TargetMachine &tm, MCStreamer &Streamer)
AsmPrinter::AsmPrinter(TargetMachine &tm, MCStreamer &Streamer)
- : MachineFunctionPass(ID),
+ : MachineFunctionPass(
&
ID),
TM(tm), MAI(tm.getMCAsmInfo()),
OutContext(Streamer.getContext()),
OutStreamer(Streamer),
TM(tm), MAI(tm.getMCAsmInfo()),
OutContext(Streamer.getContext()),
OutStreamer(Streamer),
diff --git
a/lib/CodeGen/BranchFolding.cpp
b/lib/CodeGen/BranchFolding.cpp
index cb81aa3c88ce6a03c8d1d0eca35288c93d51d0b6..7f98df0d22ea4318f0bc4256771df7de03717975 100644
(file)
--- a/
lib/CodeGen/BranchFolding.cpp
+++ b/
lib/CodeGen/BranchFolding.cpp
@@
-65,7
+65,7
@@
namespace {
public:
static char ID;
explicit BranchFolderPass(bool defaultEnableTailMerge)
public:
static char ID;
explicit BranchFolderPass(bool defaultEnableTailMerge)
- : MachineFunctionPass(ID), BranchFolder(defaultEnableTailMerge) {}
+ : MachineFunctionPass(
&
ID), BranchFolder(defaultEnableTailMerge) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const { return "Control Flow Optimizer"; }
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const { return "Control Flow Optimizer"; }
diff --git
a/lib/CodeGen/CodePlacementOpt.cpp
b/lib/CodeGen/CodePlacementOpt.cpp
index 91a9536e7757c250634194021496e691f4937fb5..e0e315c6c677fdd91fe6be3d0349365d50834bb3 100644
(file)
--- a/
lib/CodeGen/CodePlacementOpt.cpp
+++ b/
lib/CodeGen/CodePlacementOpt.cpp
@@
-36,7
+36,7
@@
namespace {
public:
static char ID;
public:
static char ID;
- CodePlacementOpt() : MachineFunctionPass(ID) {}
+ CodePlacementOpt() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const {
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const {
diff --git
a/lib/CodeGen/DeadMachineInstructionElim.cpp
b/lib/CodeGen/DeadMachineInstructionElim.cpp
index 138b83d4b667c83d51eef7e9a7366f9faae00c65..2f5b6dd31bc87446d5d36f70998a25492163947e 100644
(file)
--- a/
lib/CodeGen/DeadMachineInstructionElim.cpp
+++ b/
lib/CodeGen/DeadMachineInstructionElim.cpp
@@
-36,7
+36,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- DeadMachineInstructionElim() : MachineFunctionPass(ID) {}
+ DeadMachineInstructionElim() : MachineFunctionPass(
&
ID) {}
private:
bool isDead(const MachineInstr *MI) const;
private:
bool isDead(const MachineInstr *MI) const;
diff --git
a/lib/CodeGen/DwarfEHPrepare.cpp
b/lib/CodeGen/DwarfEHPrepare.cpp
index 57f45ec199d480fea54bdc456fafe14f45a4cce0..dfa9622a20a3a86593282ec8f328401f01f8265d 100644
(file)
--- a/
lib/CodeGen/DwarfEHPrepare.cpp
+++ b/
lib/CodeGen/DwarfEHPrepare.cpp
@@
-160,7
+160,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid.
DwarfEHPrepare(const TargetMachine *tm, bool fast) :
public:
static char ID; // Pass identification, replacement for typeid.
DwarfEHPrepare(const TargetMachine *tm, bool fast) :
- FunctionPass(ID), TM(tm), TLI(TM->getTargetLowering()),
+ FunctionPass(
&
ID), TM(tm), TLI(TM->getTargetLowering()),
CompileFast(fast),
ExceptionValueIntrinsic(0), SelectorIntrinsic(0),
URoR(0), EHCatchAllValue(0), RewindFunction(0) {}
CompileFast(fast),
ExceptionValueIntrinsic(0), SelectorIntrinsic(0),
URoR(0), EHCatchAllValue(0), RewindFunction(0) {}
diff --git
a/lib/CodeGen/ELFWriter.cpp
b/lib/CodeGen/ELFWriter.cpp
index d14728d8a36c9bec06a7436a88e710688c965610..8e4b98647fd5cab3b48d511a5502539af3f6c2f3 100644
(file)
--- a/
lib/CodeGen/ELFWriter.cpp
+++ b/
lib/CodeGen/ELFWriter.cpp
@@
-63,7
+63,7
@@
char ELFWriter::ID = 0;
//===----------------------------------------------------------------------===//
ELFWriter::ELFWriter(raw_ostream &o, TargetMachine &tm)
//===----------------------------------------------------------------------===//
ELFWriter::ELFWriter(raw_ostream &o, TargetMachine &tm)
- : MachineFunctionPass(ID), O(o), TM(tm),
+ : MachineFunctionPass(
&
ID), O(o), TM(tm),
OutContext(*new MCContext(*TM.getMCAsmInfo())),
TLOF(TM.getTargetLowering()->getObjFileLowering()),
is64Bit(TM.getTargetData()->getPointerSizeInBits() == 64),
OutContext(*new MCContext(*TM.getMCAsmInfo())),
TLOF(TM.getTargetLowering()->getObjFileLowering()),
is64Bit(TM.getTargetData()->getPointerSizeInBits() == 64),
diff --git
a/lib/CodeGen/GCMetadata.cpp
b/lib/CodeGen/GCMetadata.cpp
index 0f6e882a7be43dadb34885cc6c22021b99826728..32bc7d785b60869d61d170a4162d349cba374a85 100644
(file)
--- a/
lib/CodeGen/GCMetadata.cpp
+++ b/
lib/CodeGen/GCMetadata.cpp
@@
-30,8
+30,8
@@
namespace {
raw_ostream &OS;
public:
raw_ostream &OS;
public:
- Printer() : FunctionPass(ID), OS(errs()) {}
- explicit Printer(raw_ostream &OS) : FunctionPass(ID), OS(OS) {}
+ Printer() : FunctionPass(
&
ID), OS(errs()) {}
+ explicit Printer(raw_ostream &OS) : FunctionPass(
&
ID), OS(OS) {}
const char *getPassName() const;
const char *getPassName() const;
@@
-70,7
+70,7
@@
GCFunctionInfo::~GCFunctionInfo() {}
char GCModuleInfo::ID = 0;
GCModuleInfo::GCModuleInfo()
char GCModuleInfo::ID = 0;
GCModuleInfo::GCModuleInfo()
- : ImmutablePass(ID) {}
+ : ImmutablePass(
&
ID) {}
GCModuleInfo::~GCModuleInfo() {
clear();
GCModuleInfo::~GCModuleInfo() {
clear();
@@
-189,7
+189,7
@@
FunctionPass *llvm::createGCInfoDeleter() {
return new Deleter();
}
return new Deleter();
}
-Deleter::Deleter() : FunctionPass(ID) {}
+Deleter::Deleter() : FunctionPass(
&
ID) {}
const char *Deleter::getPassName() const {
return "Delete Garbage Collector Information";
const char *Deleter::getPassName() const {
return "Delete Garbage Collector Information";
diff --git
a/lib/CodeGen/GCStrategy.cpp
b/lib/CodeGen/GCStrategy.cpp
index 719fa194d8da132313dfbe7fb178ae2dcc8007e1..b27a420a243efd3224baa92c031a76a8b42ad8ff 100644
(file)
--- a/
lib/CodeGen/GCStrategy.cpp
+++ b/
lib/CodeGen/GCStrategy.cpp
@@
-130,7
+130,7
@@
FunctionPass *llvm::createGCLoweringPass() {
char LowerIntrinsics::ID = 0;
LowerIntrinsics::LowerIntrinsics()
char LowerIntrinsics::ID = 0;
LowerIntrinsics::LowerIntrinsics()
- : FunctionPass(ID) {}
+ : FunctionPass(
&
ID) {}
const char *LowerIntrinsics::getPassName() const {
return "Lower Garbage Collection Instructions";
const char *LowerIntrinsics::getPassName() const {
return "Lower Garbage Collection Instructions";
@@
-318,7
+318,7
@@
FunctionPass *llvm::createGCMachineCodeAnalysisPass() {
char MachineCodeAnalysis::ID = 0;
MachineCodeAnalysis::MachineCodeAnalysis()
char MachineCodeAnalysis::ID = 0;
MachineCodeAnalysis::MachineCodeAnalysis()
- : MachineFunctionPass(ID) {}
+ : MachineFunctionPass(
&
ID) {}
const char *MachineCodeAnalysis::getPassName() const {
return "Analyze Machine Code For Garbage Collection";
const char *MachineCodeAnalysis::getPassName() const {
return "Analyze Machine Code For Garbage Collection";
diff --git
a/lib/CodeGen/IfConversion.cpp
b/lib/CodeGen/IfConversion.cpp
index 0ea30d7a7929ddac9907116b3b862a5cdfca0336..6c064a74cd048a31cde9f7ab14b00f4e5214c4f7 100644
(file)
--- a/
lib/CodeGen/IfConversion.cpp
+++ b/
lib/CodeGen/IfConversion.cpp
@@
-154,7
+154,7
@@
namespace {
int FnNum;
public:
static char ID;
int FnNum;
public:
static char ID;
- IfConverter() : MachineFunctionPass(ID), FnNum(-1) {}
+ IfConverter() : MachineFunctionPass(
&
ID), FnNum(-1) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const { return "If Converter"; }
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const { return "If Converter"; }
diff --git
a/lib/CodeGen/LowerSubregs.cpp
b/lib/CodeGen/LowerSubregs.cpp
index a1f1a078d613a6428878492b3a97d57c01172905..dfd4eaeca660397b4209692e2fddcea6df6b1efd 100644
(file)
--- a/
lib/CodeGen/LowerSubregs.cpp
+++ b/
lib/CodeGen/LowerSubregs.cpp
@@
-36,7
+36,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- LowerSubregsInstructionPass() : MachineFunctionPass(ID) {}
+ LowerSubregsInstructionPass() : MachineFunctionPass(
&
ID) {}
const char *getPassName() const {
return "Subregister lowering instruction pass";
const char *getPassName() const {
return "Subregister lowering instruction pass";
diff --git
a/lib/CodeGen/MachineCSE.cpp
b/lib/CodeGen/MachineCSE.cpp
index 60642d46223794e544550d26fd3f1689a17c21f9..ef4919239b99b52252f3d4d86313e8c7effa2a34 100644
(file)
--- a/
lib/CodeGen/MachineCSE.cpp
+++ b/
lib/CodeGen/MachineCSE.cpp
@@
-41,7
+41,7
@@
namespace {
MachineRegisterInfo *MRI;
public:
static char ID; // Pass identification
MachineRegisterInfo *MRI;
public:
static char ID; // Pass identification
- MachineCSE() : MachineFunctionPass(ID), LookAheadLimit(5), CurrVN(0) {}
+ MachineCSE() : MachineFunctionPass(
&
ID), LookAheadLimit(5), CurrVN(0) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/CodeGen/MachineDominators.cpp
b/lib/CodeGen/MachineDominators.cpp
index 36c9d66965a3a8cd64d74656dca4570164ab9dd4..b5f8fbba99debdfc190349329a2b70aecb1c0f0c 100644
(file)
--- a/
lib/CodeGen/MachineDominators.cpp
+++ b/
lib/CodeGen/MachineDominators.cpp
@@
-27,7
+27,7
@@
char MachineDominatorTree::ID = 0;
static RegisterPass<MachineDominatorTree>
E("machinedomtree", "MachineDominator Tree Construction", true);
static RegisterPass<MachineDominatorTree>
E("machinedomtree", "MachineDominator Tree Construction", true);
-c
har &llvm::MachineDominatorsID = MachineDominatorTree::ID
;
+c
onst PassInfo *const llvm::MachineDominatorsID = &E
;
void MachineDominatorTree::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
void MachineDominatorTree::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
@@
-41,7
+41,7
@@
bool MachineDominatorTree::runOnMachineFunction(MachineFunction &F) {
}
MachineDominatorTree::MachineDominatorTree()
}
MachineDominatorTree::MachineDominatorTree()
- : MachineFunctionPass(ID) {
+ : MachineFunctionPass(
&
ID) {
DT = new DominatorTreeBase<MachineBasicBlock>(false);
}
DT = new DominatorTreeBase<MachineBasicBlock>(false);
}
diff --git
a/lib/CodeGen/MachineFunctionAnalysis.cpp
b/lib/CodeGen/MachineFunctionAnalysis.cpp
index 4f84b952e0612ed77792752f5dc6710f0d2f91ce..07a0f45c0f481aa31c13a7b2f7feada680ed5150 100644
(file)
--- a/
lib/CodeGen/MachineFunctionAnalysis.cpp
+++ b/
lib/CodeGen/MachineFunctionAnalysis.cpp
@@
-20,14
+20,14
@@
using namespace llvm;
// a default constructor.
static PassInfo
X("Machine Function Analysis", "machine-function-analysis",
// a default constructor.
static PassInfo
X("Machine Function Analysis", "machine-function-analysis",
-
&MachineFunctionAnalysis::ID
, 0,
+
intptr_t(&MachineFunctionAnalysis::ID)
, 0,
/*CFGOnly=*/false, /*is_analysis=*/true);
char MachineFunctionAnalysis::ID = 0;
MachineFunctionAnalysis::MachineFunctionAnalysis(const TargetMachine &tm,
CodeGenOpt::Level OL) :
/*CFGOnly=*/false, /*is_analysis=*/true);
char MachineFunctionAnalysis::ID = 0;
MachineFunctionAnalysis::MachineFunctionAnalysis(const TargetMachine &tm,
CodeGenOpt::Level OL) :
- FunctionPass(ID), TM(tm), OptLevel(OL), MF(0) {
+ FunctionPass(
&
ID), TM(tm), OptLevel(OL), MF(0) {
}
MachineFunctionAnalysis::~MachineFunctionAnalysis() {
}
MachineFunctionAnalysis::~MachineFunctionAnalysis() {
diff --git
a/lib/CodeGen/MachineFunctionPrinterPass.cpp
b/lib/CodeGen/MachineFunctionPrinterPass.cpp
index 2aaa798a02c19d9f4968f9e85b549143551efc6b..547c4febc8dae745740e0cd82f05b7c42bf1a014 100644
(file)
--- a/
lib/CodeGen/MachineFunctionPrinterPass.cpp
+++ b/
lib/CodeGen/MachineFunctionPrinterPass.cpp
@@
-29,7
+29,7
@@
struct MachineFunctionPrinterPass : public MachineFunctionPass {
const std::string Banner;
MachineFunctionPrinterPass(raw_ostream &os, const std::string &banner)
const std::string Banner;
MachineFunctionPrinterPass(raw_ostream &os, const std::string &banner)
- : MachineFunctionPass(ID), OS(os), Banner(banner) {}
+ : MachineFunctionPass(
&
ID), OS(os), Banner(banner) {}
const char *getPassName() const { return "MachineFunction Printer"; }
const char *getPassName() const { return "MachineFunction Printer"; }
diff --git
a/lib/CodeGen/MachineLICM.cpp
b/lib/CodeGen/MachineLICM.cpp
index 1a74b747e9f2a45e1d137649aa8d4ee12f0a4e54..63b145e24557706e35fc20e1cbd41c4ae96448af 100644
(file)
--- a/
lib/CodeGen/MachineLICM.cpp
+++ b/
lib/CodeGen/MachineLICM.cpp
@@
-74,10
+74,10
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
MachineLICM() :
public:
static char ID; // Pass identification, replacement for typeid
MachineLICM() :
- MachineFunctionPass(ID), PreRegAlloc(true) {}
+ MachineFunctionPass(
&
ID), PreRegAlloc(true) {}
explicit MachineLICM(bool PreRA) :
explicit MachineLICM(bool PreRA) :
- MachineFunctionPass(ID), PreRegAlloc(PreRA) {}
+ MachineFunctionPass(
&
ID), PreRegAlloc(PreRA) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/CodeGen/MachineLoopInfo.cpp
b/lib/CodeGen/MachineLoopInfo.cpp
index 039edf26a2b7738032226b148ef0066f139bed79..269538b31d0b9442c64ee33b7a367d55430a7ec0 100644
(file)
--- a/
lib/CodeGen/MachineLoopInfo.cpp
+++ b/
lib/CodeGen/MachineLoopInfo.cpp
@@
-33,7
+33,7
@@
char MachineLoopInfo::ID = 0;
static RegisterPass<MachineLoopInfo>
X("machine-loops", "Machine Natural Loop Construction", true);
static RegisterPass<MachineLoopInfo>
X("machine-loops", "Machine Natural Loop Construction", true);
-c
har &llvm::MachineLoopInfoID = MachineLoopInfo::ID
;
+c
onst PassInfo *const llvm::MachineLoopInfoID = &X
;
bool MachineLoopInfo::runOnMachineFunction(MachineFunction &) {
releaseMemory();
bool MachineLoopInfo::runOnMachineFunction(MachineFunction &) {
releaseMemory();
diff --git
a/lib/CodeGen/MachineModuleInfo.cpp
b/lib/CodeGen/MachineModuleInfo.cpp
index b647a4dcc5308f82625c74a7180a05f00ae3723f..d2e3bf74641a2fda85c95b07acaccd8353fb67a2 100644
(file)
--- a/
lib/CodeGen/MachineModuleInfo.cpp
+++ b/
lib/CodeGen/MachineModuleInfo.cpp
@@
-254,7
+254,7
@@
void MMIAddrLabelMapCallbackPtr::allUsesReplacedWith(Value *V2) {
//===----------------------------------------------------------------------===//
MachineModuleInfo::MachineModuleInfo(const MCAsmInfo &MAI)
//===----------------------------------------------------------------------===//
MachineModuleInfo::MachineModuleInfo(const MCAsmInfo &MAI)
-: ImmutablePass(ID), Context(MAI),
+: ImmutablePass(
&
ID), Context(MAI),
ObjFileMMI(0),
CurCallSite(0), CallsEHReturn(0), CallsUnwindInit(0), DbgInfoAvailable(false){
// Always emit some info, by default "no personality" info.
ObjFileMMI(0),
CurCallSite(0), CallsEHReturn(0), CallsUnwindInit(0), DbgInfoAvailable(false){
// Always emit some info, by default "no personality" info.
@@
-264,7
+264,7
@@
MachineModuleInfo::MachineModuleInfo(const MCAsmInfo &MAI)
}
MachineModuleInfo::MachineModuleInfo()
}
MachineModuleInfo::MachineModuleInfo()
-: ImmutablePass(ID), Context(*(MCAsmInfo*)0) {
+: ImmutablePass(
&
ID), Context(*(MCAsmInfo*)0) {
assert(0 && "This MachineModuleInfo constructor should never be called, MMI "
"should always be explicitly constructed by LLVMTargetMachine");
abort();
assert(0 && "This MachineModuleInfo constructor should never be called, MMI "
"should always be explicitly constructed by LLVMTargetMachine");
abort();
diff --git
a/lib/CodeGen/MachineSink.cpp
b/lib/CodeGen/MachineSink.cpp
index 1c83176db96ce1ca81edac946cab317bcaeb602e..d1f91f271b9b9a2cf9655dd526c5b5add9b3b776 100644
(file)
--- a/
lib/CodeGen/MachineSink.cpp
+++ b/
lib/CodeGen/MachineSink.cpp
@@
-44,7
+44,7
@@
namespace {
public:
static char ID; // Pass identification
public:
static char ID; // Pass identification
- MachineSinking() : MachineFunctionPass(ID) {}
+ MachineSinking() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/CodeGen/MachineVerifier.cpp
b/lib/CodeGen/MachineVerifier.cpp
index 50d0476002977fbf587c83d8c136fb7d5a5bdf23..4b87ba53dadd35ec15b2a8b0b260756b8e5ff41a 100644
(file)
--- a/
lib/CodeGen/MachineVerifier.cpp
+++ b/
lib/CodeGen/MachineVerifier.cpp
@@
-194,7
+194,7
@@
namespace {
static char ID; // Pass ID, replacement for typeid
MachineVerifierPass()
static char ID; // Pass ID, replacement for typeid
MachineVerifierPass()
- : MachineFunctionPass(ID) {}
+ : MachineFunctionPass(
&
ID) {}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/lib/CodeGen/OptimizeExts.cpp
b/lib/CodeGen/OptimizeExts.cpp
index 288f58b50832144ee5d5af2208ba55248920eda6..586b84c5768ef2ba9bf5d4ec7a8b2bb9d3f7c73a 100644
(file)
--- a/
lib/CodeGen/OptimizeExts.cpp
+++ b/
lib/CodeGen/OptimizeExts.cpp
@@
-43,7
+43,7
@@
namespace {
public:
static char ID; // Pass identification
public:
static char ID; // Pass identification
- OptimizeExts() : MachineFunctionPass(ID) {}
+ OptimizeExts() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/CodeGen/OptimizePHIs.cpp
b/lib/CodeGen/OptimizePHIs.cpp
index edb4eea71b8a72032f1d1a3ec5ddb06ce36de287..d27cc42319c3faad3e709e89b23af963accb82b6 100644
(file)
--- a/
lib/CodeGen/OptimizePHIs.cpp
+++ b/
lib/CodeGen/OptimizePHIs.cpp
@@
-33,7
+33,7
@@
namespace {
public:
static char ID; // Pass identification
public:
static char ID; // Pass identification
- OptimizePHIs() : MachineFunctionPass(ID) {}
+ OptimizePHIs() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/CodeGen/PHIElimination.cpp
b/lib/CodeGen/PHIElimination.cpp
index 7bf0aa23af384d43a363c9220b8439f6afaaf5f9..ea6b094d7efe415ca7a2afc1791c975be17843fe 100644
(file)
--- a/
lib/CodeGen/PHIElimination.cpp
+++ b/
lib/CodeGen/PHIElimination.cpp
@@
-40,7
+40,7
@@
char PHIElimination::ID = 0;
static RegisterPass<PHIElimination>
X("phi-node-elimination", "Eliminate PHI nodes for register allocation");
static RegisterPass<PHIElimination>
X("phi-node-elimination", "Eliminate PHI nodes for register allocation");
-c
har &llvm::PHIEliminationID = PHIElimination::ID
;
+c
onst PassInfo *const llvm::PHIEliminationID = &X
;
void llvm::PHIElimination::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreserved<LiveVariables>();
void llvm::PHIElimination::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreserved<LiveVariables>();
diff --git
a/lib/CodeGen/PHIElimination.h
b/lib/CodeGen/PHIElimination.h
index f183de6149ccbbb5f567ef3ae28bce28ddf95ad1..7dedf0318a8a67ca296044054a3d12bb437892cf 100644
(file)
--- a/
lib/CodeGen/PHIElimination.h
+++ b/
lib/CodeGen/PHIElimination.h
@@
-25,7
+25,7
@@
namespace llvm {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- PHIElimination() : MachineFunctionPass(ID) {}
+ PHIElimination() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &Fn);
virtual bool runOnMachineFunction(MachineFunction &Fn);
diff --git
a/lib/CodeGen/PostRASchedulerList.cpp
b/lib/CodeGen/PostRASchedulerList.cpp
index f0bd6d1372be79f12649df0875a50d8340d4f421..3005ec1075b6a2dc72b8cc8b3dde964351a1bf6f 100644
(file)
--- a/
lib/CodeGen/PostRASchedulerList.cpp
+++ b/
lib/CodeGen/PostRASchedulerList.cpp
@@
-85,7
+85,7
@@
namespace {
public:
static char ID;
PostRAScheduler(CodeGenOpt::Level ol) :
public:
static char ID;
PostRAScheduler(CodeGenOpt::Level ol) :
- MachineFunctionPass(ID), OptLevel(ol) {}
+ MachineFunctionPass(
&
ID), OptLevel(ol) {}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
diff --git
a/lib/CodeGen/PreAllocSplitting.cpp
b/lib/CodeGen/PreAllocSplitting.cpp
index 82df6c2379312eb95f274ce3a58922c96979fbb0..4cbd53a834ebd21ddcac14a42a2c779dce52adf5 100644
(file)
--- a/
lib/CodeGen/PreAllocSplitting.cpp
+++ b/
lib/CodeGen/PreAllocSplitting.cpp
@@
-92,7
+92,7
@@
namespace {
public:
static char ID;
PreAllocSplitting()
public:
static char ID;
PreAllocSplitting()
- : MachineFunctionPass(ID) {}
+ : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
@@
-206,7
+206,7
@@
char PreAllocSplitting::ID = 0;
static RegisterPass<PreAllocSplitting>
X("pre-alloc-splitting", "Pre-Register Allocation Live Interval Splitting");
static RegisterPass<PreAllocSplitting>
X("pre-alloc-splitting", "Pre-Register Allocation Live Interval Splitting");
-c
har &llvm::PreAllocSplittingID = PreAllocSplitting::ID
;
+c
onst PassInfo *const llvm::PreAllocSplittingID = &X
;
/// findSpillPoint - Find a gap as far away from the given MI that's suitable
/// for spilling the current live interval. The index must be before any
/// findSpillPoint - Find a gap as far away from the given MI that's suitable
/// for spilling the current live interval. The index must be before any
diff --git
a/lib/CodeGen/PrologEpilogInserter.h
b/lib/CodeGen/PrologEpilogInserter.h
index e56c36fe908c2f59b13c4197b23c4c0c08fa3f0a..aa95773596cfef28a8787c4276ebb88845627614 100644
(file)
--- a/
lib/CodeGen/PrologEpilogInserter.h
+++ b/
lib/CodeGen/PrologEpilogInserter.h
@@
-36,7
+36,7
@@
namespace llvm {
class PEI : public MachineFunctionPass {
public:
static char ID;
class PEI : public MachineFunctionPass {
public:
static char ID;
- PEI() : MachineFunctionPass(ID) {}
+ PEI() : MachineFunctionPass(
&
ID) {}
const char *getPassName() const {
return "Prolog/Epilog Insertion & Frame Finalization";
const char *getPassName() const {
return "Prolog/Epilog Insertion & Frame Finalization";
diff --git
a/lib/CodeGen/RegAllocFast.cpp
b/lib/CodeGen/RegAllocFast.cpp
index f0ccd351d2ac816cc4650d01064eb1153f30e5dd..9567308aa73d255329dfb64358966ffa039d3e10 100644
(file)
--- a/
lib/CodeGen/RegAllocFast.cpp
+++ b/
lib/CodeGen/RegAllocFast.cpp
@@
-47,7
+47,7
@@
namespace {
class RAFast : public MachineFunctionPass {
public:
static char ID;
class RAFast : public MachineFunctionPass {
public:
static char ID;
- RAFast() : MachineFunctionPass(ID), StackSlotForVirtReg(-1),
+ RAFast() : MachineFunctionPass(
&
ID), StackSlotForVirtReg(-1),
isBulkSpilling(false) {}
private:
const TargetMachine *TM;
isBulkSpilling(false) {}
private:
const TargetMachine *TM;
diff --git
a/lib/CodeGen/RegAllocLinearScan.cpp
b/lib/CodeGen/RegAllocLinearScan.cpp
index c9c51b361d3685faa972e4dd3d47c1db526019c3..d10b5d630682a9205c4146455f74098b16e74ebe 100644
(file)
--- a/
lib/CodeGen/RegAllocLinearScan.cpp
+++ b/
lib/CodeGen/RegAllocLinearScan.cpp
@@
-90,7
+90,7
@@
namespace {
struct RALinScan : public MachineFunctionPass {
static char ID;
struct RALinScan : public MachineFunctionPass {
static char ID;
- RALinScan() : MachineFunctionPass(ID) {
+ RALinScan() : MachineFunctionPass(
&
ID) {
// Initialize the queue to record recently-used registers.
if (NumRecentlyUsedRegs > 0)
RecentRegs.resize(NumRecentlyUsedRegs, 0);
// Initialize the queue to record recently-used registers.
if (NumRecentlyUsedRegs > 0)
RecentRegs.resize(NumRecentlyUsedRegs, 0);
diff --git
a/lib/CodeGen/RegAllocPBQP.cpp
b/lib/CodeGen/RegAllocPBQP.cpp
index 0dd921482696271d7a9589fece30c9baf5cb0db0..594618891de1c21b8ec5056bbd7672c86eb67774 100644
(file)
--- a/
lib/CodeGen/RegAllocPBQP.cpp
+++ b/
lib/CodeGen/RegAllocPBQP.cpp
@@
-84,7
+84,7
@@
namespace {
static char ID;
/// Construct a PBQP register allocator.
static char ID;
/// Construct a PBQP register allocator.
- PBQPRegAlloc() : MachineFunctionPass(ID) {}
+ PBQPRegAlloc() : MachineFunctionPass(
&
ID) {}
/// Return the pass name.
virtual const char* getPassName() const {
/// Return the pass name.
virtual const char* getPassName() const {
diff --git
a/lib/CodeGen/RenderMachineFunction.h
b/lib/CodeGen/RenderMachineFunction.h
index 71a613bedafeab937fac4a9da5c4b98739dc9d0d..4d22b34d55865928c10d7818b8cb855c2a26e026 100644
(file)
--- a/
lib/CodeGen/RenderMachineFunction.h
+++ b/
lib/CodeGen/RenderMachineFunction.h
@@
-198,7
+198,7
@@
namespace llvm {
public:
static char ID;
public:
static char ID;
- RenderMachineFunction() : MachineFunctionPass(ID) {}
+ RenderMachineFunction() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &au) const;
virtual void getAnalysisUsage(AnalysisUsage &au) const;
diff --git
a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
index 700d2cb2e87d775156d791e221d40aee8394265e..1731be2be9581494b2a33c6bcb6ae2d2e18add3e 100644
(file)
--- a/
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+++ b/
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
@@
-171,7
+171,7
@@
TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI,
//===----------------------------------------------------------------------===//
SelectionDAGISel::SelectionDAGISel(const TargetMachine &tm, CodeGenOpt::Level OL) :
//===----------------------------------------------------------------------===//
SelectionDAGISel::SelectionDAGISel(const TargetMachine &tm, CodeGenOpt::Level OL) :
- MachineFunctionPass(ID), TM(tm), TLI(*tm.getTargetLowering()),
+ MachineFunctionPass(
&
ID), TM(tm), TLI(*tm.getTargetLowering()),
FuncInfo(new FunctionLoweringInfo(TLI)),
CurDAG(new SelectionDAG(tm)),
SDB(new SelectionDAGBuilder(*CurDAG, *FuncInfo, OL)),
FuncInfo(new FunctionLoweringInfo(TLI)),
CurDAG(new SelectionDAG(tm)),
SDB(new SelectionDAGBuilder(*CurDAG, *FuncInfo, OL)),
diff --git
a/lib/CodeGen/SimpleRegisterCoalescing.cpp
b/lib/CodeGen/SimpleRegisterCoalescing.cpp
index fd6ffcecd14033d4eadebe5f2aa1792b954ea9aa..7bf559fae2873af75c9abf20a8a2a8a506870aac 100644
(file)
--- a/
lib/CodeGen/SimpleRegisterCoalescing.cpp
+++ b/
lib/CodeGen/SimpleRegisterCoalescing.cpp
@@
-65,7
+65,7
@@
X("simple-register-coalescing", "Simple Register Coalescing");
// Declare that we implement the RegisterCoalescer interface
static RegisterAnalysisGroup<RegisterCoalescer, true/*The Default*/> V(X);
// Declare that we implement the RegisterCoalescer interface
static RegisterAnalysisGroup<RegisterCoalescer, true/*The Default*/> V(X);
-c
har &llvm::SimpleRegisterCoalescingID = SimpleRegisterCoalescing::ID
;
+c
onst PassInfo *const llvm::SimpleRegisterCoalescingID = &X
;
void SimpleRegisterCoalescing::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
void SimpleRegisterCoalescing::getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
diff --git
a/lib/CodeGen/SimpleRegisterCoalescing.h
b/lib/CodeGen/SimpleRegisterCoalescing.h
index 321cef8a38dd7edc0c6aaf80eabdc18a8919721d..e154da60affa27603f536e6d6266813b4cdc6e2c 100644
(file)
--- a/
lib/CodeGen/SimpleRegisterCoalescing.h
+++ b/
lib/CodeGen/SimpleRegisterCoalescing.h
@@
-64,7
+64,7
@@
namespace llvm {
public:
static char ID; // Pass identifcation, replacement for typeid
public:
static char ID; // Pass identifcation, replacement for typeid
- SimpleRegisterCoalescing() : MachineFunctionPass(ID) {}
+ SimpleRegisterCoalescing() : MachineFunctionPass(
&
ID) {}
struct InstrSlots {
enum {
struct InstrSlots {
enum {
diff --git
a/lib/CodeGen/SjLjEHPrepare.cpp
b/lib/CodeGen/SjLjEHPrepare.cpp
index b637980f885c35a7d56573343e78d6bfd4026699..e90869d600dd69c2e72b578959d6b2d67d9b9887 100644
(file)
--- a/
lib/CodeGen/SjLjEHPrepare.cpp
+++ b/
lib/CodeGen/SjLjEHPrepare.cpp
@@
-58,7
+58,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit SjLjEHPass(const TargetLowering *tli = NULL)
public:
static char ID; // Pass identification, replacement for typeid
explicit SjLjEHPass(const TargetLowering *tli = NULL)
- : FunctionPass(ID), TLI(tli) { }
+ : FunctionPass(
&
ID), TLI(tli) { }
bool doInitialization(Module &M);
bool runOnFunction(Function &F);
bool doInitialization(Module &M);
bool runOnFunction(Function &F);
diff --git
a/lib/CodeGen/Splitter.h
b/lib/CodeGen/Splitter.h
index a726a7b834fbe203f4bc3e65bd6ecbcc6853b539..2b0645dfdcd715343995ea4571ad69bfc1e1e316 100644
(file)
--- a/
lib/CodeGen/Splitter.h
+++ b/
lib/CodeGen/Splitter.h
@@
-36,7
+36,7
@@
namespace llvm {
public:
static char ID;
public:
static char ID;
- LoopSplitter() : MachineFunctionPass(ID) {}
+ LoopSplitter() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &au) const;
virtual void getAnalysisUsage(AnalysisUsage &au) const;
diff --git
a/lib/CodeGen/StackProtector.cpp
b/lib/CodeGen/StackProtector.cpp
index 9f51778da756241d7e43b761edfa97de37fee038..ff20f11e6e6c70c62b0757a126f436f3d88fa884 100644
(file)
--- a/
lib/CodeGen/StackProtector.cpp
+++ b/
lib/CodeGen/StackProtector.cpp
@@
-62,9
+62,9
@@
namespace {
bool RequiresStackProtector() const;
public:
static char ID; // Pass identification, replacement for typeid.
bool RequiresStackProtector() const;
public:
static char ID; // Pass identification, replacement for typeid.
- StackProtector() : FunctionPass(ID), TLI(0) {}
+ StackProtector() : FunctionPass(
&
ID), TLI(0) {}
StackProtector(const TargetLowering *tli)
StackProtector(const TargetLowering *tli)
- : FunctionPass(ID), TLI(tli) {}
+ : FunctionPass(
&
ID), TLI(tli) {}
virtual bool runOnFunction(Function &Fn);
};
virtual bool runOnFunction(Function &Fn);
};
diff --git
a/lib/CodeGen/StackSlotColoring.cpp
b/lib/CodeGen/StackSlotColoring.cpp
index dab6bc3924d64c224952d5e09eb559d335af5c4e..7da3d17a54179b4778c3e1469d6fd14ca9deb755 100644
(file)
--- a/
lib/CodeGen/StackSlotColoring.cpp
+++ b/
lib/CodeGen/StackSlotColoring.cpp
@@
-95,9
+95,9
@@
namespace {
public:
static char ID; // Pass identification
StackSlotColoring() :
public:
static char ID; // Pass identification
StackSlotColoring() :
- MachineFunctionPass(ID), ColorWithRegs(false), NextColor(-1) {}
+ MachineFunctionPass(
&
ID), ColorWithRegs(false), NextColor(-1) {}
StackSlotColoring(bool RegColor) :
StackSlotColoring(bool RegColor) :
- MachineFunctionPass(ID), ColorWithRegs(RegColor), NextColor(-1) {}
+ MachineFunctionPass(
&
ID), ColorWithRegs(RegColor), NextColor(-1) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
diff --git
a/lib/CodeGen/StrongPHIElimination.cpp
b/lib/CodeGen/StrongPHIElimination.cpp
index 5e2d414a3ee182fb5591e5f14f35cdd74cdf0f43..59315cf67282b27c1eac9af63b2fab2dc1329e60 100644
(file)
--- a/
lib/CodeGen/StrongPHIElimination.cpp
+++ b/
lib/CodeGen/StrongPHIElimination.cpp
@@
-39,7
+39,7
@@
using namespace llvm;
namespace {
struct StrongPHIElimination : public MachineFunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct StrongPHIElimination : public MachineFunctionPass {
static char ID; // Pass identification, replacement for typeid
- StrongPHIElimination() : MachineFunctionPass(ID) {}
+ StrongPHIElimination() : MachineFunctionPass(
&
ID) {}
// Waiting stores, for each MBB, the set of copies that need to
// be inserted into that MBB
// Waiting stores, for each MBB, the set of copies that need to
// be inserted into that MBB
@@
-154,7
+154,7
@@
static RegisterPass<StrongPHIElimination>
X("strong-phi-node-elimination",
"Eliminate PHI nodes for register allocation, intelligently");
X("strong-phi-node-elimination",
"Eliminate PHI nodes for register allocation, intelligently");
-c
har &llvm::StrongPHIEliminationID = StrongPHIElimination::ID
;
+c
onst PassInfo *const llvm::StrongPHIEliminationID = &X
;
/// computeDFS - Computes the DFS-in and DFS-out numbers of the dominator tree
/// of the given MachineFunction. These numbers are then used in other parts
/// computeDFS - Computes the DFS-in and DFS-out numbers of the dominator tree
/// of the given MachineFunction. These numbers are then used in other parts
diff --git
a/lib/CodeGen/TailDuplication.cpp
b/lib/CodeGen/TailDuplication.cpp
index a815b364d54e758ed2f78bd9ca14da676a56aa1a..aac8a0a20686e3ccc439c2cbba0da39969e9bbcd 100644
(file)
--- a/
lib/CodeGen/TailDuplication.cpp
+++ b/
lib/CodeGen/TailDuplication.cpp
@@
-69,7
+69,7
@@
namespace {
public:
static char ID;
explicit TailDuplicatePass(bool PreRA) :
public:
static char ID;
explicit TailDuplicatePass(bool PreRA) :
- MachineFunctionPass(ID), PreRegAlloc(PreRA) {}
+ MachineFunctionPass(
&
ID), PreRegAlloc(PreRA) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const { return "Tail Duplication"; }
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual const char *getPassName() const { return "Tail Duplication"; }
diff --git
a/lib/CodeGen/TwoAddressInstructionPass.cpp
b/lib/CodeGen/TwoAddressInstructionPass.cpp
index 2e17ebcf8a5cb6779c4a1ecf4da3aa9001494737..9c280faea0ed9b942e8b8266085c357595c3203f 100644
(file)
--- a/
lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/
lib/CodeGen/TwoAddressInstructionPass.cpp
@@
-138,7
+138,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- TwoAddressInstructionPass() : MachineFunctionPass(ID) {}
+ TwoAddressInstructionPass() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
@@
-162,7
+162,7
@@
char TwoAddressInstructionPass::ID = 0;
static RegisterPass<TwoAddressInstructionPass>
X("twoaddressinstruction", "Two-Address instruction pass");
static RegisterPass<TwoAddressInstructionPass>
X("twoaddressinstruction", "Two-Address instruction pass");
-c
har &llvm::TwoAddressInstructionPassID = TwoAddressInstructionPass::ID
;
+c
onst PassInfo *const llvm::TwoAddressInstructionPassID = &X
;
/// Sink3AddrInstruction - A two-address instruction has been converted to a
/// three-address instruction to avoid clobbering a register. Try to sink it
/// Sink3AddrInstruction - A two-address instruction has been converted to a
/// three-address instruction to avoid clobbering a register. Try to sink it
diff --git
a/lib/CodeGen/UnreachableBlockElim.cpp
b/lib/CodeGen/UnreachableBlockElim.cpp
index ade2ab4ffabf06bbb04e20d508d319c55237ce51..be1fd23e2fccdf6904b6256fb2737b6f0e6b1d35 100644
(file)
--- a/
lib/CodeGen/UnreachableBlockElim.cpp
+++ b/
lib/CodeGen/UnreachableBlockElim.cpp
@@
-43,7
+43,7
@@
namespace {
virtual bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
virtual bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
- UnreachableBlockElim() : FunctionPass(ID) {}
+ UnreachableBlockElim() : FunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreserved<ProfileInfo>();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreserved<ProfileInfo>();
@@
-100,7
+100,7
@@
namespace {
MachineModuleInfo *MMI;
public:
static char ID; // Pass identification, replacement for typeid
MachineModuleInfo *MMI;
public:
static char ID; // Pass identification, replacement for typeid
- UnreachableMachineBlockElim() : MachineFunctionPass(ID) {}
+ UnreachableMachineBlockElim() : MachineFunctionPass(
&
ID) {}
};
}
char UnreachableMachineBlockElim::ID = 0;
};
}
char UnreachableMachineBlockElim::ID = 0;
@@
-109,7
+109,7
@@
static RegisterPass<UnreachableMachineBlockElim>
Y("unreachable-mbb-elimination",
"Remove unreachable machine basic blocks");
Y("unreachable-mbb-elimination",
"Remove unreachable machine basic blocks");
-c
har &llvm::UnreachableMachineBlockElimID = UnreachableMachineBlockElim::ID
;
+c
onst PassInfo *const llvm::UnreachableMachineBlockElimID = &Y
;
void UnreachableMachineBlockElim::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreserved<MachineLoopInfo>();
void UnreachableMachineBlockElim::getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreserved<MachineLoopInfo>();
diff --git
a/lib/CodeGen/VirtRegMap.h
b/lib/CodeGen/VirtRegMap.h
index 8b6082d18193285a244f99ba3898d88d931c7dd5..87a9b2a7c46f9b31e5eaf0dae3f41520f859721a 100644
(file)
--- a/
lib/CodeGen/VirtRegMap.h
+++ b/
lib/CodeGen/VirtRegMap.h
@@
-139,7
+139,7
@@
namespace llvm {
public:
static char ID;
public:
static char ID;
- VirtRegMap() : MachineFunctionPass(ID), Virt2PhysMap(NO_PHYS_REG),
+ VirtRegMap() : MachineFunctionPass(
&
ID), Virt2PhysMap(NO_PHYS_REG),
Virt2StackSlotMap(NO_STACK_SLOT),
Virt2ReMatIdMap(NO_STACK_SLOT), Virt2SplitMap(0),
Virt2SplitKillMap(SlotIndex()), ReMatMap(NULL),
Virt2StackSlotMap(NO_STACK_SLOT),
Virt2ReMatIdMap(NO_STACK_SLOT), Virt2SplitMap(0),
Virt2SplitKillMap(SlotIndex()), ReMatMap(NULL),
diff --git
a/lib/Target/ARM/ARMCodeEmitter.cpp
b/lib/Target/ARM/ARMCodeEmitter.cpp
index 089d1c51598f41c9ccfa6b2e4db36abbfc9596f3..93f617db64fdd02d634709e15d489033fe9cbf96 100644
(file)
--- a/
lib/Target/ARM/ARMCodeEmitter.cpp
+++ b/
lib/Target/ARM/ARMCodeEmitter.cpp
@@
-65,7
+65,7
@@
namespace {
static char ID;
public:
ARMCodeEmitter(TargetMachine &tm, JITCodeEmitter &mce)
static char ID;
public:
ARMCodeEmitter(TargetMachine &tm, JITCodeEmitter &mce)
- : MachineFunctionPass(ID), JTI(0),
+ : MachineFunctionPass(
&
ID), JTI(0),
II((const ARMInstrInfo *)tm.getInstrInfo()),
TD(tm.getTargetData()), TM(tm),
MCE(mce), MCPEs(0), MJTEs(0),
II((const ARMInstrInfo *)tm.getInstrInfo()),
TD(tm.getTargetData()), TM(tm),
MCE(mce), MCPEs(0), MJTEs(0),
diff --git
a/lib/Target/ARM/ARMConstantIslandPass.cpp
b/lib/Target/ARM/ARMConstantIslandPass.cpp
index 118b2de7f4f36cd9b4d919aa7e3ff6cc05d92656..63d57b61b462097ebf260d40204707e0c72368fa 100644
(file)
--- a/
lib/Target/ARM/ARMConstantIslandPass.cpp
+++ b/
lib/Target/ARM/ARMConstantIslandPass.cpp
@@
-173,7
+173,7
@@
namespace {
bool isThumb2;
public:
static char ID;
bool isThumb2;
public:
static char ID;
- ARMConstantIslands() : MachineFunctionPass(ID) {}
+ ARMConstantIslands() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/Target/ARM/ARMExpandPseudoInsts.cpp
b/lib/Target/ARM/ARMExpandPseudoInsts.cpp
index e5f8a638eb67212ad5286ef946cd30ebad71d9ff..70ed67713e2648a5b1bba31b80482fbde739a04f 100644
(file)
--- a/
lib/Target/ARM/ARMExpandPseudoInsts.cpp
+++ b/
lib/Target/ARM/ARMExpandPseudoInsts.cpp
@@
-26,7
+26,7
@@
namespace {
class ARMExpandPseudo : public MachineFunctionPass {
public:
static char ID;
class ARMExpandPseudo : public MachineFunctionPass {
public:
static char ID;
- ARMExpandPseudo() : MachineFunctionPass(ID) {}
+ ARMExpandPseudo() : MachineFunctionPass(
&
ID) {}
const TargetInstrInfo *TII;
const TargetRegisterInfo *TRI;
const TargetInstrInfo *TII;
const TargetRegisterInfo *TRI;
diff --git
a/lib/Target/ARM/ARMGlobalMerge.cpp
b/lib/Target/ARM/ARMGlobalMerge.cpp
index 85b0c6c248d0291b2ee004baf100476ac6e2a354..af7298a24394480b1b792c912d7d92a037da9fc1 100644
(file)
--- a/
lib/Target/ARM/ARMGlobalMerge.cpp
+++ b/
lib/Target/ARM/ARMGlobalMerge.cpp
@@
-78,7
+78,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid.
explicit ARMGlobalMerge(const TargetLowering *tli)
public:
static char ID; // Pass identification, replacement for typeid.
explicit ARMGlobalMerge(const TargetLowering *tli)
- : FunctionPass(ID), TLI(tli) {}
+ : FunctionPass(
&
ID), TLI(tli) {}
virtual bool doInitialization(Module &M);
virtual bool runOnFunction(Function& F);
virtual bool doInitialization(Module &M);
virtual bool runOnFunction(Function& F);
diff --git
a/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
b/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
index db580fbf7b163b60694b2d6025b255ca162e479d..f80e316d23e8568c95aec74e64bb1879e9873feb 100644
(file)
--- a/
lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+++ b/
lib/Target/ARM/ARMLoadStoreOptimizer.cpp
@@
-57,7
+57,7
@@
STATISTIC(NumSTRD2STR, "Number of strd instructions turned back into str's");
namespace {
struct ARMLoadStoreOpt : public MachineFunctionPass {
static char ID;
namespace {
struct ARMLoadStoreOpt : public MachineFunctionPass {
static char ID;
- ARMLoadStoreOpt() : MachineFunctionPass(ID) {}
+ ARMLoadStoreOpt() : MachineFunctionPass(
&
ID) {}
const TargetInstrInfo *TII;
const TargetRegisterInfo *TRI;
const TargetInstrInfo *TII;
const TargetRegisterInfo *TRI;
@@
-1268,7
+1268,7
@@
bool ARMLoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
namespace {
struct ARMPreAllocLoadStoreOpt : public MachineFunctionPass{
static char ID;
namespace {
struct ARMPreAllocLoadStoreOpt : public MachineFunctionPass{
static char ID;
- ARMPreAllocLoadStoreOpt() : MachineFunctionPass(ID) {}
+ ARMPreAllocLoadStoreOpt() : MachineFunctionPass(
&
ID) {}
const TargetData *TD;
const TargetInstrInfo *TII;
const TargetData *TD;
const TargetInstrInfo *TII;
diff --git
a/lib/Target/ARM/NEONMoveFix.cpp
b/lib/Target/ARM/NEONMoveFix.cpp
index 97e54bfaed9e7a4178f3154dedeb9170237ce6af..bbdd3c7f7c3e09553a1c72b4827fd11d90f95d64 100644
(file)
--- a/
lib/Target/ARM/NEONMoveFix.cpp
+++ b/
lib/Target/ARM/NEONMoveFix.cpp
@@
-24,7
+24,7
@@
STATISTIC(NumVMovs, "Number of reg-reg moves converted");
namespace {
struct NEONMoveFixPass : public MachineFunctionPass {
static char ID;
namespace {
struct NEONMoveFixPass : public MachineFunctionPass {
static char ID;
- NEONMoveFixPass() : MachineFunctionPass(ID) {}
+ NEONMoveFixPass() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &Fn);
virtual bool runOnMachineFunction(MachineFunction &Fn);
diff --git
a/lib/Target/ARM/NEONPreAllocPass.cpp
b/lib/Target/ARM/NEONPreAllocPass.cpp
index 006a25fb15c0a3b583e0024411a827c4a409485c..f67717cdd56f5da4668ac36338b9972e9468b697 100644
(file)
--- a/
lib/Target/ARM/NEONPreAllocPass.cpp
+++ b/
lib/Target/ARM/NEONPreAllocPass.cpp
@@
-23,7
+23,7
@@
namespace {
public:
static char ID;
public:
static char ID;
- NEONPreAllocPass() : MachineFunctionPass(ID) {}
+ NEONPreAllocPass() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF);
virtual bool runOnMachineFunction(MachineFunction &MF);
diff --git
a/lib/Target/ARM/Thumb2ITBlockPass.cpp
b/lib/Target/ARM/Thumb2ITBlockPass.cpp
index 45e693744b806ab4608581fa980f33807303ae43..445b6a3a09b1573f252cb1da7711b88859662176 100644
(file)
--- a/
lib/Target/ARM/Thumb2ITBlockPass.cpp
+++ b/
lib/Target/ARM/Thumb2ITBlockPass.cpp
@@
-27,7
+27,7
@@
namespace {
public:
static char ID;
public:
static char ID;
- Thumb2ITBlockPass() : MachineFunctionPass(ID) {}
+ Thumb2ITBlockPass() : MachineFunctionPass(
&
ID) {}
const Thumb2InstrInfo *TII;
const TargetRegisterInfo *TRI;
const Thumb2InstrInfo *TII;
const TargetRegisterInfo *TRI;
diff --git
a/lib/Target/ARM/Thumb2SizeReduction.cpp
b/lib/Target/ARM/Thumb2SizeReduction.cpp
index 1451c53112f531aea42303dd48662c53d7985db3..ba392f36d946424fab03cc0fbc615b943dab1acb 100644
(file)
--- a/
lib/Target/ARM/Thumb2SizeReduction.cpp
+++ b/
lib/Target/ARM/Thumb2SizeReduction.cpp
@@
-173,7
+173,7
@@
namespace {
char Thumb2SizeReduce::ID = 0;
}
char Thumb2SizeReduce::ID = 0;
}
-Thumb2SizeReduce::Thumb2SizeReduce() : MachineFunctionPass(ID) {
+Thumb2SizeReduce::Thumb2SizeReduce() : MachineFunctionPass(
&
ID) {
for (unsigned i = 0, e = array_lengthof(ReduceTable); i != e; ++i) {
unsigned FromOpc = ReduceTable[i].WideOpc;
if (!ReduceOpcodeMap.insert(std::make_pair(FromOpc, i)).second)
for (unsigned i = 0, e = array_lengthof(ReduceTable); i != e; ++i) {
unsigned FromOpc = ReduceTable[i].WideOpc;
if (!ReduceOpcodeMap.insert(std::make_pair(FromOpc, i)).second)
diff --git
a/lib/Target/Alpha/AlphaBranchSelector.cpp
b/lib/Target/Alpha/AlphaBranchSelector.cpp
index 37681170953698354b43a5cbdf09ef96ccc2879a..001656e0121a783b58ea780dce140f91c25d64b6 100644
(file)
--- a/
lib/Target/Alpha/AlphaBranchSelector.cpp
+++ b/
lib/Target/Alpha/AlphaBranchSelector.cpp
@@
-22,7
+22,7
@@
using namespace llvm;
namespace {
struct AlphaBSel : public MachineFunctionPass {
static char ID;
namespace {
struct AlphaBSel : public MachineFunctionPass {
static char ID;
- AlphaBSel() : MachineFunctionPass(ID) {}
+ AlphaBSel() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &Fn);
virtual bool runOnMachineFunction(MachineFunction &Fn);
diff --git
a/lib/Target/Alpha/AlphaCodeEmitter.cpp
b/lib/Target/Alpha/AlphaCodeEmitter.cpp
index 3aec07035d74c83254b8418bde60de2c6323fa4d..a6c6f52704f6bf522a6186c99c6653a187e68a4a 100644
(file)
--- a/
lib/Target/Alpha/AlphaCodeEmitter.cpp
+++ b/
lib/Target/Alpha/AlphaCodeEmitter.cpp
@@
-34,7
+34,7
@@
namespace {
public:
static char ID;
public:
static char ID;
- AlphaCodeEmitter(JITCodeEmitter &mce) : MachineFunctionPass(ID),
+ AlphaCodeEmitter(JITCodeEmitter &mce) : MachineFunctionPass(
&
ID),
MCE(mce) {}
/// getBinaryCodeForInstr - This function, generated by the
MCE(mce) {}
/// getBinaryCodeForInstr - This function, generated by the
diff --git
a/lib/Target/Alpha/AlphaLLRP.cpp
b/lib/Target/Alpha/AlphaLLRP.cpp
index 85fbfd1affe21edf87ea4373d6589098bbcdccd3..34be470f03e30b830365e945b79175b6d0e8e286 100644
(file)
--- a/
lib/Target/Alpha/AlphaLLRP.cpp
+++ b/
lib/Target/Alpha/AlphaLLRP.cpp
@@
-39,7
+39,7
@@
namespace {
static char ID;
AlphaLLRPPass(AlphaTargetMachine &tm)
static char ID;
AlphaLLRPPass(AlphaTargetMachine &tm)
- : MachineFunctionPass(ID), TM(tm) { }
+ : MachineFunctionPass(
&
ID), TM(tm) { }
virtual const char *getPassName() const {
return "Alpha NOP inserter";
virtual const char *getPassName() const {
return "Alpha NOP inserter";
diff --git
a/lib/Target/CBackend/CBackend.cpp
b/lib/Target/CBackend/CBackend.cpp
index 46f584cb1b5fdcdbe30d5ed460efc6e94cde4565..3b4d0a604cf17b94994c66e3e6de55d93a5cf735 100644
(file)
--- a/
lib/Target/CBackend/CBackend.cpp
+++ b/
lib/Target/CBackend/CBackend.cpp
@@
-73,7
+73,7
@@
namespace {
public:
static char ID;
CBackendNameAllUsedStructsAndMergeFunctions()
public:
static char ID;
CBackendNameAllUsedStructsAndMergeFunctions()
- : ModulePass(ID) {}
+ : ModulePass(
&
ID) {}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<FindUsedTypes>();
}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<FindUsedTypes>();
}
@@
-110,7
+110,7
@@
namespace {
public:
static char ID;
explicit CWriter(formatted_raw_ostream &o)
public:
static char ID;
explicit CWriter(formatted_raw_ostream &o)
- : FunctionPass(ID), Out(o), IL(0), Mang(0), LI(0),
+ : FunctionPass(
&
ID), Out(o), IL(0), Mang(0), LI(0),
TheModule(0), TAsm(0), TCtx(0), TD(0), OpaqueCounter(0),
NextAnonValueNumber(0) {
FPCounter = 0;
TheModule(0), TAsm(0), TCtx(0), TD(0), OpaqueCounter(0),
NextAnonValueNumber(0) {
FPCounter = 0;
diff --git
a/lib/Target/CppBackend/CPPBackend.cpp
b/lib/Target/CppBackend/CPPBackend.cpp
index 3e21cd1de447456e8e704d5aded340618b18e988..396b569f9d0728f4d94af323d8e260ed102a7d7b 100644
(file)
--- a/
lib/Target/CppBackend/CPPBackend.cpp
+++ b/
lib/Target/CppBackend/CPPBackend.cpp
@@
-104,7
+104,7
@@
namespace {
public:
static char ID;
explicit CppWriter(formatted_raw_ostream &o) :
public:
static char ID;
explicit CppWriter(formatted_raw_ostream &o) :
- ModulePass(ID), Out(o), uniqueNum(0), is_inline(false), indent_level(0){}
+ ModulePass(
&
ID), Out(o), uniqueNum(0), is_inline(false), indent_level(0){}
virtual const char *getPassName() const { return "C++ backend"; }
virtual const char *getPassName() const { return "C++ backend"; }
diff --git
a/lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
b/lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
index b551b79b291ed44788960249df3c0f4281785196..42fea250733270e9126c147f908b7a89736a1163 100644
(file)
--- a/
lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
+++ b/
lib/Target/MBlaze/MBlazeDelaySlotFiller.cpp
@@
-32,7
+32,7
@@
namespace {
static char ID;
Filler(TargetMachine &tm)
static char ID;
Filler(TargetMachine &tm)
- : MachineFunctionPass(ID), TM(tm), TII(tm.getInstrInfo()) { }
+ : MachineFunctionPass(
&
ID), TM(tm), TII(tm.getInstrInfo()) { }
virtual const char *getPassName() const {
return "MBlaze Delay Slot Filler";
virtual const char *getPassName() const {
return "MBlaze Delay Slot Filler";
diff --git
a/lib/Target/MSIL/MSILWriter.h
b/lib/Target/MSIL/MSILWriter.h
index 87440e22987e247ce408575bb88a6b63ecc3d960..92a3abe5c0a7459e076475c6135ef759229367a2 100644
(file)
--- a/
lib/Target/MSIL/MSILWriter.h
+++ b/
lib/Target/MSIL/MSILWriter.h
@@
-40,7
+40,7
@@
namespace llvm {
static char ID;
MSILModule(const std::set<const Type *>*& _UsedTypes,
const TargetData*& _TD)
static char ID;
MSILModule(const std::set<const Type *>*& _UsedTypes,
const TargetData*& _TD)
- : ModulePass(ID), UsedTypes(_UsedTypes), TD(_TD) {}
+ : ModulePass(
&
ID), UsedTypes(_UsedTypes), TD(_TD) {}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<FindUsedTypes>();
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<FindUsedTypes>();
@@
-86,7
+86,7
@@
namespace llvm {
DenseMap<const Value*, unsigned> AnonValueNumbers;
unsigned NextAnonValueNumber;
DenseMap<const Value*, unsigned> AnonValueNumbers;
unsigned NextAnonValueNumber;
- MSILWriter(formatted_raw_ostream &o) : FunctionPass(ID), Out(o),
+ MSILWriter(formatted_raw_ostream &o) : FunctionPass(
&
ID), Out(o),
NextAnonValueNumber(0) {
UniqID = 0;
}
NextAnonValueNumber(0) {
UniqID = 0;
}
diff --git
a/lib/Target/MSP430/MSP430BranchSelector.cpp
b/lib/Target/MSP430/MSP430BranchSelector.cpp
index b1d6966caebd3525dc2f3278fc54823aa2cc6773..529fd931f65a5494afd3a6752f8329e215631719 100644
(file)
--- a/
lib/Target/MSP430/MSP430BranchSelector.cpp
+++ b/
lib/Target/MSP430/MSP430BranchSelector.cpp
@@
-30,7
+30,7
@@
STATISTIC(NumExpanded, "Number of branches expanded to long format");
namespace {
struct MSP430BSel : public MachineFunctionPass {
static char ID;
namespace {
struct MSP430BSel : public MachineFunctionPass {
static char ID;
- MSP430BSel() : MachineFunctionPass(ID) {}
+ MSP430BSel() : MachineFunctionPass(
&
ID) {}
/// BlockSizes - The sizes of the basic blocks in the function.
std::vector<unsigned> BlockSizes;
/// BlockSizes - The sizes of the basic blocks in the function.
std::vector<unsigned> BlockSizes;
diff --git
a/lib/Target/Mips/MipsDelaySlotFiller.cpp
b/lib/Target/Mips/MipsDelaySlotFiller.cpp
index 597ea0d6c20720ec04f22f386f29df1a1ec246f8..a2b615d8add2aa929154020778fa38a40b639590 100644
(file)
--- a/
lib/Target/Mips/MipsDelaySlotFiller.cpp
+++ b/
lib/Target/Mips/MipsDelaySlotFiller.cpp
@@
-32,7
+32,7
@@
namespace {
static char ID;
Filler(TargetMachine &tm)
static char ID;
Filler(TargetMachine &tm)
- : MachineFunctionPass(ID), TM(tm), TII(tm.getInstrInfo()) { }
+ : MachineFunctionPass(
&
ID), TM(tm), TII(tm.getInstrInfo()) { }
virtual const char *getPassName() const {
return "Mips Delay Slot Filler";
virtual const char *getPassName() const {
return "Mips Delay Slot Filler";
diff --git
a/lib/Target/PIC16/PIC16MemSelOpt.cpp
b/lib/Target/PIC16/PIC16MemSelOpt.cpp
index b6aa38f765ea79ea1ed213f6850ccf0a4f577d3a..241170b11c2ad223eb68f41635bc6dcdff6471aa 100644
(file)
--- a/
lib/Target/PIC16/PIC16MemSelOpt.cpp
+++ b/
lib/Target/PIC16/PIC16MemSelOpt.cpp
@@
-38,7
+38,7
@@
using namespace llvm;
namespace {
struct MemSelOpt : public MachineFunctionPass {
static char ID;
namespace {
struct MemSelOpt : public MachineFunctionPass {
static char ID;
- MemSelOpt() : MachineFunctionPass(ID) {}
+ MemSelOpt() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreservedID(MachineLoopInfoID);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addPreservedID(MachineLoopInfoID);
diff --git
a/lib/Target/PIC16/PIC16Passes/PIC16Cloner.h
b/lib/Target/PIC16/PIC16Passes/PIC16Cloner.h
index e7d67ce09629a2c9dfc1933273ba54bf222287a0..e8b5aa45cdca9dde86570321c1e03ed51ce85b12 100644
(file)
--- a/
lib/Target/PIC16/PIC16Passes/PIC16Cloner.h
+++ b/
lib/Target/PIC16/PIC16Passes/PIC16Cloner.h
@@
-35,7
+35,7
@@
namespace llvm {
class PIC16Cloner : public ModulePass {
public:
static char ID; // Class identification
class PIC16Cloner : public ModulePass {
public:
static char ID; // Class identification
- PIC16Cloner() : ModulePass(ID) {}
+ PIC16Cloner() : ModulePass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<CallGraph>();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<CallGraph>();
diff --git
a/lib/Target/PIC16/PIC16Passes/PIC16Overlay.h
b/lib/Target/PIC16/PIC16Passes/PIC16Overlay.h
index 2f611e65de1fdbb9015fd11627b8bc77c3d1872c..5a2551fabcda94acf88059dd6ca0d30d039dcd68 100644
(file)
--- a/
lib/Target/PIC16/PIC16Passes/PIC16Overlay.h
+++ b/
lib/Target/PIC16/PIC16Passes/PIC16Overlay.h
@@
-39,7
+39,7
@@
namespace llvm {
unsigned IndirectCallColor;
public:
static char ID; // Class identification
unsigned IndirectCallColor;
public:
static char ID; // Class identification
- PIC16Overlay() : ModulePass(ID) {
+ PIC16Overlay() : ModulePass(
&
ID) {
OverlayStr = "Overlay=";
InterruptDepth = PIC16OVERLAY::StartInterruptColor;
IndirectCallColor = PIC16OVERLAY::StartIndirectCallColor;
OverlayStr = "Overlay=";
InterruptDepth = PIC16OVERLAY::StartInterruptColor;
IndirectCallColor = PIC16OVERLAY::StartIndirectCallColor;
diff --git
a/lib/Target/PowerPC/PPCBranchSelector.cpp
b/lib/Target/PowerPC/PPCBranchSelector.cpp
index df24e96b8e889c0a6e87779d1ca0a51eb534c41f..8c427a1c78ba6c71225608be856b22989941c2bf 100644
(file)
--- a/
lib/Target/PowerPC/PPCBranchSelector.cpp
+++ b/
lib/Target/PowerPC/PPCBranchSelector.cpp
@@
-31,7
+31,7
@@
STATISTIC(NumExpanded, "Number of branches expanded to long format");
namespace {
struct PPCBSel : public MachineFunctionPass {
static char ID;
namespace {
struct PPCBSel : public MachineFunctionPass {
static char ID;
- PPCBSel() : MachineFunctionPass(ID) {}
+ PPCBSel() : MachineFunctionPass(
&
ID) {}
/// BlockSizes - The sizes of the basic blocks in the function.
std::vector<unsigned> BlockSizes;
/// BlockSizes - The sizes of the basic blocks in the function.
std::vector<unsigned> BlockSizes;
diff --git
a/lib/Target/PowerPC/PPCCodeEmitter.cpp
b/lib/Target/PowerPC/PPCCodeEmitter.cpp
index df9ab52389ba85f2af71a0a43f5a0bfd792c86bf..d03cf05a9ce8b23c41ff443e29189441e8fdb4e9 100644
(file)
--- a/
lib/Target/PowerPC/PPCCodeEmitter.cpp
+++ b/
lib/Target/PowerPC/PPCCodeEmitter.cpp
@@
-45,7
+45,7
@@
namespace {
public:
PPCCodeEmitter(TargetMachine &tm, JITCodeEmitter &mce)
public:
PPCCodeEmitter(TargetMachine &tm, JITCodeEmitter &mce)
- : MachineFunctionPass(ID), TM(tm), MCE(mce) {}
+ : MachineFunctionPass(
&
ID), TM(tm), MCE(mce) {}
/// getBinaryCodeForInstr - This function, generated by the
/// CodeEmitterGenerator using TableGen, produces the binary encoding for
/// getBinaryCodeForInstr - This function, generated by the
/// CodeEmitterGenerator using TableGen, produces the binary encoding for
diff --git
a/lib/Target/Sparc/DelaySlotFiller.cpp
b/lib/Target/Sparc/DelaySlotFiller.cpp
index aae5da8560056bcf6b405dfde9cff94817e9bf10..9e148ada8853ed4ff107bbd46908a190e9445c47 100644
(file)
--- a/
lib/Target/Sparc/DelaySlotFiller.cpp
+++ b/
lib/Target/Sparc/DelaySlotFiller.cpp
@@
-32,7
+32,7
@@
namespace {
static char ID;
Filler(TargetMachine &tm)
static char ID;
Filler(TargetMachine &tm)
- : MachineFunctionPass(ID), TM(tm), TII(tm.getInstrInfo()) { }
+ : MachineFunctionPass(
&
ID), TM(tm), TII(tm.getInstrInfo()) { }
virtual const char *getPassName() const {
return "SPARC Delay Slot Filler";
virtual const char *getPassName() const {
return "SPARC Delay Slot Filler";
diff --git
a/lib/Target/Sparc/FPMover.cpp
b/lib/Target/Sparc/FPMover.cpp
index 1423b1e64d66e7ce1d178e14d3a7feca9383590b..88b0927b355009e83075a87e93930c4add781e21 100644
(file)
--- a/
lib/Target/Sparc/FPMover.cpp
+++ b/
lib/Target/Sparc/FPMover.cpp
@@
-36,7
+36,7
@@
namespace {
static char ID;
explicit FPMover(TargetMachine &tm)
static char ID;
explicit FPMover(TargetMachine &tm)
- : MachineFunctionPass(ID), TM(tm) { }
+ : MachineFunctionPass(
&
ID), TM(tm) { }
virtual const char *getPassName() const {
return "Sparc Double-FP Move Fixer";
virtual const char *getPassName() const {
return "Sparc Double-FP Move Fixer";
diff --git
a/lib/Target/TargetData.cpp
b/lib/Target/TargetData.cpp
index 406d288d1839e4f591f030bcb8a830198f6c358c..65f514c26474e8e021f122b7465dab6f9d5ba9da 100644
(file)
--- a/
lib/Target/TargetData.cpp
+++ b/
lib/Target/TargetData.cpp
@@
-226,13
+226,13
@@
void TargetData::init(StringRef Desc) {
///
/// @note This has to exist, because this is a pass, but it should never be
/// used.
///
/// @note This has to exist, because this is a pass, but it should never be
/// used.
-TargetData::TargetData() : ImmutablePass(ID) {
+TargetData::TargetData() : ImmutablePass(
&
ID) {
report_fatal_error("Bad TargetData ctor used. "
"Tool did not specify a TargetData to use?");
}
TargetData::TargetData(const Module *M)
report_fatal_error("Bad TargetData ctor used. "
"Tool did not specify a TargetData to use?");
}
TargetData::TargetData(const Module *M)
- : ImmutablePass(ID) {
+ : ImmutablePass(
&
ID) {
init(M->getDataLayout());
}
init(M->getDataLayout());
}
diff --git
a/lib/Target/X86/SSEDomainFix.cpp
b/lib/Target/X86/SSEDomainFix.cpp
index 13680c592e01b274dbfca95729fa68147ba43598..dab070e1febda496750e9d7de9b8cb0cdffc7da7 100644
(file)
--- a/
lib/Target/X86/SSEDomainFix.cpp
+++ b/
lib/Target/X86/SSEDomainFix.cpp
@@
-115,7
+115,7
@@
class SSEDomainFixPass : public MachineFunctionPass {
unsigned Distance;
public:
unsigned Distance;
public:
- SSEDomainFixPass() : MachineFunctionPass(ID) {}
+ SSEDomainFixPass() : MachineFunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/lib/Target/X86/X86CodeEmitter.cpp
b/lib/Target/X86/X86CodeEmitter.cpp
index ef2255de19c33e201cce05d34ff62b6162df91f1..4fd034e53ed4cdddece1d6e61bb80160d865596b 100644
(file)
--- a/
lib/Target/X86/X86CodeEmitter.cpp
+++ b/
lib/Target/X86/X86CodeEmitter.cpp
@@
-53,12
+53,12
@@
namespace {
public:
static char ID;
explicit Emitter(X86TargetMachine &tm, CodeEmitter &mce)
public:
static char ID;
explicit Emitter(X86TargetMachine &tm, CodeEmitter &mce)
- : MachineFunctionPass(ID), II(0), TD(0), TM(tm),
+ : MachineFunctionPass(
&
ID), II(0), TD(0), TM(tm),
MCE(mce), PICBaseOffset(0), Is64BitMode(false),
IsPIC(TM.getRelocationModel() == Reloc::PIC_) {}
Emitter(X86TargetMachine &tm, CodeEmitter &mce,
const X86InstrInfo &ii, const TargetData &td, bool is64)
MCE(mce), PICBaseOffset(0), Is64BitMode(false),
IsPIC(TM.getRelocationModel() == Reloc::PIC_) {}
Emitter(X86TargetMachine &tm, CodeEmitter &mce,
const X86InstrInfo &ii, const TargetData &td, bool is64)
- : MachineFunctionPass(ID), II(&ii), TD(&td), TM(tm),
+ : MachineFunctionPass(
&
ID), II(&ii), TD(&td), TM(tm),
MCE(mce), PICBaseOffset(0), Is64BitMode(is64),
IsPIC(TM.getRelocationModel() == Reloc::PIC_) {}
MCE(mce), PICBaseOffset(0), Is64BitMode(is64),
IsPIC(TM.getRelocationModel() == Reloc::PIC_) {}
diff --git
a/lib/Target/X86/X86FloatingPoint.cpp
b/lib/Target/X86/X86FloatingPoint.cpp
index cd23a7d6b2de52f92b19b37543bc52bbbc8ce0ae..a58c590147867716fe126d544328e9b50ea622cd 100644
(file)
--- a/
lib/Target/X86/X86FloatingPoint.cpp
+++ b/
lib/Target/X86/X86FloatingPoint.cpp
@@
-50,7
+50,7
@@
STATISTIC(NumFP , "Number of floating point instructions");
namespace {
struct FPS : public MachineFunctionPass {
static char ID;
namespace {
struct FPS : public MachineFunctionPass {
static char ID;
- FPS() : MachineFunctionPass(ID) {
+ FPS() : MachineFunctionPass(
&
ID) {
// This is really only to keep valgrind quiet.
// The logic in isLive() is too much for it.
memset(Stack, 0, sizeof(Stack));
// This is really only to keep valgrind quiet.
// The logic in isLive() is too much for it.
memset(Stack, 0, sizeof(Stack));
diff --git
a/lib/Target/X86/X86InstrInfo.cpp
b/lib/Target/X86/X86InstrInfo.cpp
index 4ee0c0af835381fd942c9d822956cae53a313626..98323fa7b07f11514aadaa1e13df6d536055d8a0 100644
(file)
--- a/
lib/Target/X86/X86InstrInfo.cpp
+++ b/
lib/Target/X86/X86InstrInfo.cpp
@@
-3029,7
+3029,7
@@
namespace {
/// global base register for x86-32.
struct CGBR : public MachineFunctionPass {
static char ID;
/// global base register for x86-32.
struct CGBR : public MachineFunctionPass {
static char ID;
- CGBR() : MachineFunctionPass(ID) {}
+ CGBR() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF) {
const X86TargetMachine *TM =
virtual bool runOnMachineFunction(MachineFunction &MF) {
const X86TargetMachine *TM =
diff --git
a/lib/Target/X86/X86RegisterInfo.cpp
b/lib/Target/X86/X86RegisterInfo.cpp
index 746e3fa7b5ce8c10594a2ee11df8574cfa59e45b..afb07405b709ae97d3f2a503ded7c48fdb415137 100644
(file)
--- a/
lib/Target/X86/X86RegisterInfo.cpp
+++ b/
lib/Target/X86/X86RegisterInfo.cpp
@@
-1557,7
+1557,7
@@
unsigned getX86SubSuperRegister(unsigned Reg, EVT VT, bool High) {
namespace {
struct MSAH : public MachineFunctionPass {
static char ID;
namespace {
struct MSAH : public MachineFunctionPass {
static char ID;
- MSAH() : MachineFunctionPass(ID) {}
+ MSAH() : MachineFunctionPass(
&
ID) {}
virtual bool runOnMachineFunction(MachineFunction &MF) {
const X86TargetMachine *TM =
virtual bool runOnMachineFunction(MachineFunction &MF) {
const X86TargetMachine *TM =
diff --git
a/lib/Transforms/Hello/Hello.cpp
b/lib/Transforms/Hello/Hello.cpp
index 838d5505490f5841dc2fd1b09cb0ea09d13ab861..bf59c044733fa0861546a11c654eaf8479b7e9c3 100644
(file)
--- a/
lib/Transforms/Hello/Hello.cpp
+++ b/
lib/Transforms/Hello/Hello.cpp
@@
-25,7
+25,7
@@
namespace {
// Hello - The first implementation, without getAnalysisUsage.
struct Hello : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
// Hello - The first implementation, without getAnalysisUsage.
struct Hello : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- Hello() : FunctionPass(ID) {}
+ Hello() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F) {
++HelloCounter;
virtual bool runOnFunction(Function &F) {
++HelloCounter;
@@
-43,7
+43,7
@@
namespace {
// Hello2 - The second implementation with getAnalysisUsage implemented.
struct Hello2 : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
// Hello2 - The second implementation with getAnalysisUsage implemented.
struct Hello2 : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- Hello2() : FunctionPass(ID) {}
+ Hello2() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F) {
++HelloCounter;
virtual bool runOnFunction(Function &F) {
++HelloCounter;
diff --git
a/lib/Transforms/IPO/ArgumentPromotion.cpp
b/lib/Transforms/IPO/ArgumentPromotion.cpp
index 0c77e1fd8cff4f7dfdcc155515d62cd41201a13d..4cd4e17f3d2dee1fc185abe5a33ad1f419b9a661 100644
(file)
--- a/
lib/Transforms/IPO/ArgumentPromotion.cpp
+++ b/
lib/Transforms/IPO/ArgumentPromotion.cpp
@@
-67,7
+67,7
@@
namespace {
virtual bool runOnSCC(CallGraphSCC &SCC);
static char ID; // Pass identification, replacement for typeid
explicit ArgPromotion(unsigned maxElements = 3)
virtual bool runOnSCC(CallGraphSCC &SCC);
static char ID; // Pass identification, replacement for typeid
explicit ArgPromotion(unsigned maxElements = 3)
- : CallGraphSCCPass(ID), maxElements(maxElements) {}
+ : CallGraphSCCPass(
&
ID), maxElements(maxElements) {}
/// A vector used to hold the indices of a single GEP instruction
typedef std::vector<uint64_t> IndicesVector;
/// A vector used to hold the indices of a single GEP instruction
typedef std::vector<uint64_t> IndicesVector;
diff --git
a/lib/Transforms/IPO/ConstantMerge.cpp
b/lib/Transforms/IPO/ConstantMerge.cpp
index 75282fae18bc531bc5a981faccdce66a6ddc311e..5c6bc868c936bda86203b5411de5b609cad2b4f5 100644
(file)
--- a/
lib/Transforms/IPO/ConstantMerge.cpp
+++ b/
lib/Transforms/IPO/ConstantMerge.cpp
@@
-31,7
+31,7
@@
STATISTIC(NumMerged, "Number of global constants merged");
namespace {
struct ConstantMerge : public ModulePass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct ConstantMerge : public ModulePass {
static char ID; // Pass identification, replacement for typeid
- ConstantMerge() : ModulePass(ID) {}
+ ConstantMerge() : ModulePass(
&
ID) {}
// run - For this pass, process all of the globals in the module,
// eliminating duplicate constants.
// run - For this pass, process all of the globals in the module,
// eliminating duplicate constants.
diff --git
a/lib/Transforms/IPO/DeadArgumentElimination.cpp
b/lib/Transforms/IPO/DeadArgumentElimination.cpp
index 47df235424e2fc18af75d74be3dd814f29f762c8..7202f50a362efcb93671dbc3a6e593b5e0cb0904 100644
(file)
--- a/
lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/
lib/Transforms/IPO/DeadArgumentElimination.cpp
@@
-122,11
+122,11
@@
namespace {
protected:
// DAH uses this to specify a different ID.
protected:
// DAH uses this to specify a different ID.
- explicit DAE(
char &
ID) : ModulePass(ID) {}
+ explicit DAE(
void *
ID) : ModulePass(ID) {}
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- DAE() : ModulePass(ID) {}
+ DAE() : ModulePass(
&
ID) {}
bool runOnModule(Module &M);
bool runOnModule(Module &M);
@@
-159,7
+159,7
@@
namespace {
/// by bugpoint.
struct DAH : public DAE {
static char ID;
/// by bugpoint.
struct DAH : public DAE {
static char ID;
- DAH() : DAE(ID) {}
+ DAH() : DAE(
&
ID) {}
virtual bool ShouldHackArguments() const { return true; }
};
virtual bool ShouldHackArguments() const { return true; }
};
diff --git
a/lib/Transforms/IPO/DeadTypeElimination.cpp
b/lib/Transforms/IPO/DeadTypeElimination.cpp
index 5dc50c5bef32fe0ad67ed4d3de1d80de54e73c92..5ff80f72cf463c6de449ccfd02a3be94ce2b6190 100644
(file)
--- a/
lib/Transforms/IPO/DeadTypeElimination.cpp
+++ b/
lib/Transforms/IPO/DeadTypeElimination.cpp
@@
-26,7
+26,7
@@
STATISTIC(NumKilled, "Number of unused typenames removed from symtab");
namespace {
struct DTE : public ModulePass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct DTE : public ModulePass {
static char ID; // Pass identification, replacement for typeid
- DTE() : ModulePass(ID) {}
+ DTE() : ModulePass(
&
ID) {}
// doPassInitialization - For this pass, it removes global symbol table
// entries for primitive types. These are never used for linking in GCC and
// doPassInitialization - For this pass, it removes global symbol table
// entries for primitive types. These are never used for linking in GCC and
diff --git
a/lib/Transforms/IPO/ExtractGV.cpp
b/lib/Transforms/IPO/ExtractGV.cpp
index 9eb690d9474d58f1b7bd4c5719ea72d2185c7a1a..7f67e48ade839a890a4995f2b3d9c64320dfa77b 100644
(file)
--- a/
lib/Transforms/IPO/ExtractGV.cpp
+++ b/
lib/Transforms/IPO/ExtractGV.cpp
@@
-35,7
+35,7
@@
namespace {
///
explicit GVExtractorPass(std::vector<GlobalValue*>& GVs, bool deleteS = true,
bool relinkCallees = false)
///
explicit GVExtractorPass(std::vector<GlobalValue*>& GVs, bool deleteS = true,
bool relinkCallees = false)
- : ModulePass(ID), Named(GVs), deleteStuff(deleteS),
+ : ModulePass(
&
ID), Named(GVs), deleteStuff(deleteS),
reLink(relinkCallees) {}
bool runOnModule(Module &M) {
reLink(relinkCallees) {}
bool runOnModule(Module &M) {
diff --git
a/lib/Transforms/IPO/FunctionAttrs.cpp
b/lib/Transforms/IPO/FunctionAttrs.cpp
index 6165ba023f7377b757a618200fa347675dc1c485..d5c35ea59d60e1c108baddc42b63d427f068a73d 100644
(file)
--- a/
lib/Transforms/IPO/FunctionAttrs.cpp
+++ b/
lib/Transforms/IPO/FunctionAttrs.cpp
@@
-41,7
+41,7
@@
STATISTIC(NumNoAlias, "Number of function returns marked noalias");
namespace {
struct FunctionAttrs : public CallGraphSCCPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct FunctionAttrs : public CallGraphSCCPass {
static char ID; // Pass identification, replacement for typeid
- FunctionAttrs() : CallGraphSCCPass(ID) {}
+ FunctionAttrs() : CallGraphSCCPass(
&
ID) {}
// runOnSCC - Analyze the SCC, performing the transformation if possible.
bool runOnSCC(CallGraphSCC &SCC);
// runOnSCC - Analyze the SCC, performing the transformation if possible.
bool runOnSCC(CallGraphSCC &SCC);
diff --git
a/lib/Transforms/IPO/GlobalDCE.cpp
b/lib/Transforms/IPO/GlobalDCE.cpp
index aa18601b9aecaf8a2cb17315df28332257426b1f..129cb7c46e0b1ad914ad101a416f3964d0168cac 100644
(file)
--- a/
lib/Transforms/IPO/GlobalDCE.cpp
+++ b/
lib/Transforms/IPO/GlobalDCE.cpp
@@
-31,7
+31,7
@@
STATISTIC(NumVariables, "Number of global variables removed");
namespace {
struct GlobalDCE : public ModulePass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct GlobalDCE : public ModulePass {
static char ID; // Pass identification, replacement for typeid
- GlobalDCE() : ModulePass(ID) {}
+ GlobalDCE() : ModulePass(
&
ID) {}
// run - Do the GlobalDCE pass on the specified module, optionally updating
// the specified callgraph to reflect the changes.
// run - Do the GlobalDCE pass on the specified module, optionally updating
// the specified callgraph to reflect the changes.
diff --git
a/lib/Transforms/IPO/GlobalOpt.cpp
b/lib/Transforms/IPO/GlobalOpt.cpp
index a77af549caa131579abb709f240966e921926781..9ea98ec4775f67c518f035d9fd2fff2d355137a6 100644
(file)
--- a/
lib/Transforms/IPO/GlobalOpt.cpp
+++ b/
lib/Transforms/IPO/GlobalOpt.cpp
@@
-59,7
+59,7
@@
namespace {
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
}
static char ID; // Pass identification, replacement for typeid
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
}
static char ID; // Pass identification, replacement for typeid
- GlobalOpt() : ModulePass(ID) {}
+ GlobalOpt() : ModulePass(
&
ID) {}
bool runOnModule(Module &M);
bool runOnModule(Module &M);
diff --git
a/lib/Transforms/IPO/IPConstantPropagation.cpp
b/lib/Transforms/IPO/IPConstantPropagation.cpp
index 1b3cf7810cc68f6db9332d941f49f652cf2485eb..762935e38c2456e9a90ebf8706a92be71aad78d4 100644
(file)
--- a/
lib/Transforms/IPO/IPConstantPropagation.cpp
+++ b/
lib/Transforms/IPO/IPConstantPropagation.cpp
@@
-35,7
+35,7
@@
namespace {
///
struct IPCP : public ModulePass {
static char ID; // Pass identification, replacement for typeid
///
struct IPCP : public ModulePass {
static char ID; // Pass identification, replacement for typeid
- IPCP() : ModulePass(ID) {}
+ IPCP() : ModulePass(
&
ID) {}
bool runOnModule(Module &M);
private:
bool runOnModule(Module &M);
private:
diff --git
a/lib/Transforms/IPO/InlineAlways.cpp
b/lib/Transforms/IPO/InlineAlways.cpp
index ecc60ad069325917b045542bba4ea9fe0613dcab..43b50fcb3d57642f473886b9aaf7b809cae98192 100644
(file)
--- a/
lib/Transforms/IPO/InlineAlways.cpp
+++ b/
lib/Transforms/IPO/InlineAlways.cpp
@@
-36,7
+36,7
@@
namespace {
InlineCostAnalyzer CA;
public:
// Use extremely low threshold.
InlineCostAnalyzer CA;
public:
// Use extremely low threshold.
- AlwaysInliner() : Inliner(ID, -2000000000) {}
+ AlwaysInliner() : Inliner(
&
ID, -2000000000) {}
static char ID; // Pass identification, replacement for typeid
InlineCost getInlineCost(CallSite CS) {
return CA.getInlineCost(CS, NeverInline);
static char ID; // Pass identification, replacement for typeid
InlineCost getInlineCost(CallSite CS) {
return CA.getInlineCost(CS, NeverInline);
diff --git
a/lib/Transforms/IPO/InlineSimple.cpp
b/lib/Transforms/IPO/InlineSimple.cpp
index 9c6637dfe5ad6bc5de2b58e80750746d35116acf..e609fb6867ff4aba9513069e31e8a80528f10f5b 100644
(file)
--- a/
lib/Transforms/IPO/InlineSimple.cpp
+++ b/
lib/Transforms/IPO/InlineSimple.cpp
@@
-33,8
+33,8
@@
namespace {
SmallPtrSet<const Function*, 16> NeverInline;
InlineCostAnalyzer CA;
public:
SmallPtrSet<const Function*, 16> NeverInline;
InlineCostAnalyzer CA;
public:
- SimpleInliner() : Inliner(ID) {}
- SimpleInliner(int Threshold) : Inliner(ID, Threshold) {}
+ SimpleInliner() : Inliner(
&
ID) {}
+ SimpleInliner(int Threshold) : Inliner(
&
ID, Threshold) {}
static char ID; // Pass identification, replacement for typeid
InlineCost getInlineCost(CallSite CS) {
return CA.getInlineCost(CS, NeverInline);
static char ID; // Pass identification, replacement for typeid
InlineCost getInlineCost(CallSite CS) {
return CA.getInlineCost(CS, NeverInline);
diff --git
a/lib/Transforms/IPO/Inliner.cpp
b/lib/Transforms/IPO/Inliner.cpp
index 4983e8e13a3ee72aa87c4cd95facaf82494213f1..876e80e53718556ce1559a68e9fff044bbac3431 100644
(file)
--- a/
lib/Transforms/IPO/Inliner.cpp
+++ b/
lib/Transforms/IPO/Inliner.cpp
@@
-48,10
+48,10
@@
HintThreshold("inlinehint-threshold", cl::Hidden, cl::init(325),
// Threshold to use when optsize is specified (and there is no -inline-limit).
const int OptSizeThreshold = 75;
// Threshold to use when optsize is specified (and there is no -inline-limit).
const int OptSizeThreshold = 75;
-Inliner::Inliner(
char &
ID)
+Inliner::Inliner(
void *
ID)
: CallGraphSCCPass(ID), InlineThreshold(InlineLimit) {}
: CallGraphSCCPass(ID), InlineThreshold(InlineLimit) {}
-Inliner::Inliner(
char &
ID, int Threshold)
+Inliner::Inliner(
void *
ID, int Threshold)
: CallGraphSCCPass(ID), InlineThreshold(Threshold) {}
/// getAnalysisUsage - For this class, we declare that we require and preserve
: CallGraphSCCPass(ID), InlineThreshold(Threshold) {}
/// getAnalysisUsage - For this class, we declare that we require and preserve
diff --git
a/lib/Transforms/IPO/Internalize.cpp
b/lib/Transforms/IPO/Internalize.cpp
index a1d919fd8a042050525b4b4a7f42249c66f8b5d7..1f861e02e2d0e4f0bef7e955cf9b57a7c7942b64 100644
(file)
--- a/
lib/Transforms/IPO/Internalize.cpp
+++ b/
lib/Transforms/IPO/Internalize.cpp
@@
-67,7
+67,7
@@
INITIALIZE_PASS(InternalizePass, "internalize",
"Internalize Global Symbols", false, false);
InternalizePass::InternalizePass(bool AllButMain)
"Internalize Global Symbols", false, false);
InternalizePass::InternalizePass(bool AllButMain)
- : ModulePass(ID), AllButMain(AllButMain){
+ : ModulePass(
&
ID), AllButMain(AllButMain){
if (!APIFile.empty()) // If a filename is specified, use it.
LoadFile(APIFile.c_str());
if (!APIList.empty()) // If a list is specified, use it as well.
if (!APIFile.empty()) // If a filename is specified, use it.
LoadFile(APIFile.c_str());
if (!APIList.empty()) // If a list is specified, use it as well.
@@
-75,7
+75,7
@@
InternalizePass::InternalizePass(bool AllButMain)
}
InternalizePass::InternalizePass(const std::vector<const char *>&exportList)
}
InternalizePass::InternalizePass(const std::vector<const char *>&exportList)
- : ModulePass(ID), AllButMain(false){
+ : ModulePass(
&
ID), AllButMain(false){
for(std::vector<const char *>::const_iterator itr = exportList.begin();
itr != exportList.end(); itr++) {
ExternalNames.insert(*itr);
for(std::vector<const char *>::const_iterator itr = exportList.begin();
itr != exportList.end(); itr++) {
ExternalNames.insert(*itr);
diff --git
a/lib/Transforms/IPO/LoopExtractor.cpp
b/lib/Transforms/IPO/LoopExtractor.cpp
index f88dff67d7c9831851ef207cec04b5970cf34c6f..fd60adfc507d33510dc553427089622d3b02cbca 100644
(file)
--- a/
lib/Transforms/IPO/LoopExtractor.cpp
+++ b/
lib/Transforms/IPO/LoopExtractor.cpp
@@
-37,7
+37,7
@@
namespace {
unsigned NumLoops;
explicit LoopExtractor(unsigned numLoops = ~0)
unsigned NumLoops;
explicit LoopExtractor(unsigned numLoops = ~0)
- : LoopPass(ID), NumLoops(numLoops) {}
+ : LoopPass(
&
ID), NumLoops(numLoops) {}
virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
@@
-147,7
+147,7
@@
namespace {
std::vector<std::pair<std::string, std::string> > BlocksToNotExtractByName;
public:
static char ID; // Pass identification, replacement for typeid
std::vector<std::pair<std::string, std::string> > BlocksToNotExtractByName;
public:
static char ID; // Pass identification, replacement for typeid
- BlockExtractorPass() : ModulePass(ID) {
+ BlockExtractorPass() : ModulePass(
&
ID) {
if (!BlockFile.empty())
LoadFile(BlockFile.c_str());
}
if (!BlockFile.empty())
LoadFile(BlockFile.c_str());
}
diff --git
a/lib/Transforms/IPO/LowerSetJmp.cpp
b/lib/Transforms/IPO/LowerSetJmp.cpp
index 6c715de04b76365784f302451e0c20132b10e9bc..fa19ea1fa46573be1364d7269f4f2eca9a5a8f71 100644
(file)
--- a/
lib/Transforms/IPO/LowerSetJmp.cpp
+++ b/
lib/Transforms/IPO/LowerSetJmp.cpp
@@
-109,7
+109,7
@@
namespace {
bool IsTransformableFunction(StringRef Name);
public:
static char ID; // Pass identification, replacement for typeid
bool IsTransformableFunction(StringRef Name);
public:
static char ID; // Pass identification, replacement for typeid
- LowerSetJmp() : ModulePass(ID) {}
+ LowerSetJmp() : ModulePass(
&
ID) {}
void visitCallInst(CallInst& CI);
void visitInvokeInst(InvokeInst& II);
void visitCallInst(CallInst& CI);
void visitInvokeInst(InvokeInst& II);
diff --git
a/lib/Transforms/IPO/MergeFunctions.cpp
b/lib/Transforms/IPO/MergeFunctions.cpp
index 73aee4567639785c8e246d4083ef2f98a666e5a6..43b08bd9b3e961d3ca4d2e17ddc325a4c701e7dc 100644
(file)
--- a/
lib/Transforms/IPO/MergeFunctions.cpp
+++ b/
lib/Transforms/IPO/MergeFunctions.cpp
@@
-88,7
+88,7
@@
namespace {
///
struct MergeFunctions : public ModulePass {
static char ID; // Pass identification, replacement for typeid
///
struct MergeFunctions : public ModulePass {
static char ID; // Pass identification, replacement for typeid
- MergeFunctions() : ModulePass(ID) {}
+ MergeFunctions() : ModulePass(
&
ID) {}
bool runOnModule(Module &M);
};
bool runOnModule(Module &M);
};
diff --git
a/lib/Transforms/IPO/PartialInlining.cpp
b/lib/Transforms/IPO/PartialInlining.cpp
index eba7b3ae4d135638c99023f537c9f5537a7a5565..e4a8fc58c2e69d98d15fb29007b13624f858ba5b 100644
(file)
--- a/
lib/Transforms/IPO/PartialInlining.cpp
+++ b/
lib/Transforms/IPO/PartialInlining.cpp
@@
-30,7
+30,7
@@
namespace {
struct PartialInliner : public ModulePass {
virtual void getAnalysisUsage(AnalysisUsage &AU) const { }
static char ID; // Pass identification, replacement for typeid
struct PartialInliner : public ModulePass {
virtual void getAnalysisUsage(AnalysisUsage &AU) const { }
static char ID; // Pass identification, replacement for typeid
- PartialInliner() : ModulePass(ID) {}
+ PartialInliner() : ModulePass(
&
ID) {}
bool runOnModule(Module& M);
bool runOnModule(Module& M);
diff --git
a/lib/Transforms/IPO/PartialSpecialization.cpp
b/lib/Transforms/IPO/PartialSpecialization.cpp
index 17245c7acd3b59e6465ccdac4277ec27a56b8dc4..d46879f5093f826a4b7c1d31009eeec446d98388 100644
(file)
--- a/
lib/Transforms/IPO/PartialSpecialization.cpp
+++ b/
lib/Transforms/IPO/PartialSpecialization.cpp
@@
-50,7
+50,7
@@
namespace {
int scanDistribution(Function&, int, std::map<Constant*, int>&);
public :
static char ID; // Pass identification, replacement for typeid
int scanDistribution(Function&, int, std::map<Constant*, int>&);
public :
static char ID; // Pass identification, replacement for typeid
- PartSpec() : ModulePass(ID) {}
+ PartSpec() : ModulePass(
&
ID) {}
bool runOnModule(Module &M);
};
}
bool runOnModule(Module &M);
};
}
diff --git
a/lib/Transforms/IPO/PruneEH.cpp
b/lib/Transforms/IPO/PruneEH.cpp
index 09ac76f979649efb1169f46cbdaee4d89f7b26c4..7d2968e024bccabb096fd192c1d74097cf1ead88 100644
(file)
--- a/
lib/Transforms/IPO/PruneEH.cpp
+++ b/
lib/Transforms/IPO/PruneEH.cpp
@@
-37,7
+37,7
@@
STATISTIC(NumUnreach, "Number of noreturn calls optimized");
namespace {
struct PruneEH : public CallGraphSCCPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct PruneEH : public CallGraphSCCPass {
static char ID; // Pass identification, replacement for typeid
- PruneEH() : CallGraphSCCPass(ID) {}
+ PruneEH() : CallGraphSCCPass(
&
ID) {}
// runOnSCC - Analyze the SCC, performing the transformation if possible.
bool runOnSCC(CallGraphSCC &SCC);
// runOnSCC - Analyze the SCC, performing the transformation if possible.
bool runOnSCC(CallGraphSCC &SCC);
diff --git
a/lib/Transforms/IPO/StripDeadPrototypes.cpp
b/lib/Transforms/IPO/StripDeadPrototypes.cpp
index ee10ad0b8ba265196e516f23df5d4a59aeaddfc0..32722f1e1e8b0d429757105cbc193f1f57e483ee 100644
(file)
--- a/
lib/Transforms/IPO/StripDeadPrototypes.cpp
+++ b/
lib/Transforms/IPO/StripDeadPrototypes.cpp
@@
-29,7
+29,7
@@
namespace {
class StripDeadPrototypesPass : public ModulePass {
public:
static char ID; // Pass identification, replacement for typeid
class StripDeadPrototypesPass : public ModulePass {
public:
static char ID; // Pass identification, replacement for typeid
- StripDeadPrototypesPass() : ModulePass(ID) { }
+ StripDeadPrototypesPass() : ModulePass(
&
ID) { }
virtual bool runOnModule(Module &M);
};
virtual bool runOnModule(Module &M);
};
diff --git
a/lib/Transforms/IPO/StripSymbols.cpp
b/lib/Transforms/IPO/StripSymbols.cpp
index c6c4fde0a2bdd2d2ba0900bda22025a1db84e485..55674614bce235ba2693d01f59a7d816b29ae126 100644
(file)
--- a/
lib/Transforms/IPO/StripSymbols.cpp
+++ b/
lib/Transforms/IPO/StripSymbols.cpp
@@
-39,7
+39,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit StripSymbols(bool ODI = false)
public:
static char ID; // Pass identification, replacement for typeid
explicit StripSymbols(bool ODI = false)
- : ModulePass(ID), OnlyDebugInfo(ODI) {}
+ : ModulePass(
&
ID), OnlyDebugInfo(ODI) {}
virtual bool runOnModule(Module &M);
virtual bool runOnModule(Module &M);
@@
-52,7
+52,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit StripNonDebugSymbols()
public:
static char ID; // Pass identification, replacement for typeid
explicit StripNonDebugSymbols()
- : ModulePass(ID) {}
+ : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M);
virtual bool runOnModule(Module &M);
@@
-65,7
+65,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit StripDebugDeclare()
public:
static char ID; // Pass identification, replacement for typeid
explicit StripDebugDeclare()
- : ModulePass(ID) {}
+ : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M);
virtual bool runOnModule(Module &M);
@@
-78,7
+78,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit StripDeadDebugInfo()
public:
static char ID; // Pass identification, replacement for typeid
explicit StripDeadDebugInfo()
- : ModulePass(ID) {}
+ : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M);
virtual bool runOnModule(Module &M);
diff --git
a/lib/Transforms/IPO/StructRetPromotion.cpp
b/lib/Transforms/IPO/StructRetPromotion.cpp
index aa470b954d6a5ad53fd635608cecba1238b5d7df..56896466c931eee0ee652bcaa70d0d879dd44653 100644
(file)
--- a/
lib/Transforms/IPO/StructRetPromotion.cpp
+++ b/
lib/Transforms/IPO/StructRetPromotion.cpp
@@
-50,7
+50,7
@@
namespace {
virtual bool runOnSCC(CallGraphSCC &SCC);
static char ID; // Pass identification, replacement for typeid
virtual bool runOnSCC(CallGraphSCC &SCC);
static char ID; // Pass identification, replacement for typeid
- SRETPromotion() : CallGraphSCCPass(ID) {}
+ SRETPromotion() : CallGraphSCCPass(
&
ID) {}
private:
CallGraphNode *PromoteReturn(CallGraphNode *CGN);
private:
CallGraphNode *PromoteReturn(CallGraphNode *CGN);
diff --git
a/lib/Transforms/InstCombine/InstCombine.h
b/lib/Transforms/InstCombine/InstCombine.h
index 6f9609cf997ba05352c3e460662ad5b0945d093a..24e052881a9d4378d752b27bdf46c01258c31ea3 100644
(file)
--- a/
lib/Transforms/InstCombine/InstCombine.h
+++ b/
lib/Transforms/InstCombine/InstCombine.h
@@
-81,7
+81,7
@@
public:
BuilderTy *Builder;
static char ID; // Pass identification, replacement for typeid
BuilderTy *Builder;
static char ID; // Pass identification, replacement for typeid
- InstCombiner() : FunctionPass(ID), TD(0), Builder(0) {}
+ InstCombiner() : FunctionPass(
&
ID), TD(0), Builder(0) {}
public:
virtual bool runOnFunction(Function &F);
public:
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Instrumentation/EdgeProfiling.cpp
b/lib/Transforms/Instrumentation/EdgeProfiling.cpp
index a77d70cd1c1bc45ea0d86c68c937bb560ca902c4..e5cd1f0ef423b20e140a2705996404901cf08d1d 100644
(file)
--- a/
lib/Transforms/Instrumentation/EdgeProfiling.cpp
+++ b/
lib/Transforms/Instrumentation/EdgeProfiling.cpp
@@
-34,7
+34,7
@@
namespace {
bool runOnModule(Module &M);
public:
static char ID; // Pass identification, replacement for typeid
bool runOnModule(Module &M);
public:
static char ID; // Pass identification, replacement for typeid
- EdgeProfiler() : ModulePass(ID) {}
+ EdgeProfiler() : ModulePass(
&
ID) {}
virtual const char *getPassName() const {
return "Edge Profiler";
virtual const char *getPassName() const {
return "Edge Profiler";
diff --git
a/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
b/lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
index 8eec9872812dc7a6478f1d7b7790960083b44de0..a6de60d2935744517508d8462b5f8c06125b369a 100644
(file)
--- a/
lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
+++ b/
lib/Transforms/Instrumentation/OptimalEdgeProfiling.cpp
@@
-36,7
+36,7
@@
namespace {
bool runOnModule(Module &M);
public:
static char ID; // Pass identification, replacement for typeid
bool runOnModule(Module &M);
public:
static char ID; // Pass identification, replacement for typeid
- OptimalEdgeProfiler() : ModulePass(ID) {}
+ OptimalEdgeProfiler() : ModulePass(
&
ID) {}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequiredID(ProfileEstimatorPassID);
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequiredID(ProfileEstimatorPassID);
diff --git
a/lib/Transforms/Scalar/ABCD.cpp
b/lib/Transforms/Scalar/ABCD.cpp
index 03187620d3d415e8d680e91b3f79acee91a8eaa1..20f90839c97da186d2f245f3fad3a1eaaf3d36d7 100644
(file)
--- a/
lib/Transforms/Scalar/ABCD.cpp
+++ b/
lib/Transforms/Scalar/ABCD.cpp
@@
-49,7
+49,7
@@
namespace {
class ABCD : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid.
class ABCD : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid.
- ABCD() : FunctionPass(ID) {}
+ ABCD() : FunctionPass(
&
ID) {}
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<SSI>();
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<SSI>();
diff --git
a/lib/Transforms/Scalar/ADCE.cpp
b/lib/Transforms/Scalar/ADCE.cpp
index ada086e9db766404980eca3732d9fb027cb95984..4df1c7c8b8a0600715d3a8386db8252a3cb7ed87 100644
(file)
--- a/
lib/Transforms/Scalar/ADCE.cpp
+++ b/
lib/Transforms/Scalar/ADCE.cpp
@@
-33,7
+33,7
@@
STATISTIC(NumRemoved, "Number of instructions removed");
namespace {
struct ADCE : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct ADCE : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- ADCE() : FunctionPass(ID) {}
+ ADCE() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function& F);
virtual bool runOnFunction(Function& F);
diff --git
a/lib/Transforms/Scalar/BasicBlockPlacement.cpp
b/lib/Transforms/Scalar/BasicBlockPlacement.cpp
index b144678c6a0eda03a7b9324329787f1e5f043ace..89fb64c58bfc724ad502cc8040f50dcab8cfcb8c 100644
(file)
--- a/
lib/Transforms/Scalar/BasicBlockPlacement.cpp
+++ b/
lib/Transforms/Scalar/BasicBlockPlacement.cpp
@@
-41,7
+41,7
@@
STATISTIC(NumMoved, "Number of basic blocks moved");
namespace {
struct BlockPlacement : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct BlockPlacement : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- BlockPlacement() : FunctionPass(ID) {}
+ BlockPlacement() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/CodeGenPrepare.cpp
b/lib/Transforms/Scalar/CodeGenPrepare.cpp
index 823caceb2f854f2fd5a358bbaf7e138f740ca4f3..0c14b521cadc0866281aee4414515dd814ccb381 100644
(file)
--- a/
lib/Transforms/Scalar/CodeGenPrepare.cpp
+++ b/
lib/Transforms/Scalar/CodeGenPrepare.cpp
@@
-54,7
+54,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit CodeGenPrepare(const TargetLowering *tli = 0)
public:
static char ID; // Pass identification, replacement for typeid
explicit CodeGenPrepare(const TargetLowering *tli = 0)
- : FunctionPass(ID), TLI(tli) {}
+ : FunctionPass(
&
ID), TLI(tli) {}
bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
bool runOnFunction(Function &F);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
diff --git
a/lib/Transforms/Scalar/ConstantProp.cpp
b/lib/Transforms/Scalar/ConstantProp.cpp
index a0ea369d0cadd06cfab1cb132d12365485ceb7c1..0e9d68cbe66741db29de6cfde9690de382986a54 100644
(file)
--- a/
lib/Transforms/Scalar/ConstantProp.cpp
+++ b/
lib/Transforms/Scalar/ConstantProp.cpp
@@
-34,7
+34,7
@@
STATISTIC(NumInstKilled, "Number of instructions killed");
namespace {
struct ConstantPropagation : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct ConstantPropagation : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- ConstantPropagation() : FunctionPass(ID) {}
+ ConstantPropagation() : FunctionPass(
&
ID) {}
bool runOnFunction(Function &F);
bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/DCE.cpp
b/lib/Transforms/Scalar/DCE.cpp
index 87ea8038356ae6b3b207bd30f57d27515307859a..6baeceb5ee213edb49f141fba119de74c8a050b7 100644
(file)
--- a/
lib/Transforms/Scalar/DCE.cpp
+++ b/
lib/Transforms/Scalar/DCE.cpp
@@
-35,7
+35,7
@@
namespace {
//
struct DeadInstElimination : public BasicBlockPass {
static char ID; // Pass identification, replacement for typeid
//
struct DeadInstElimination : public BasicBlockPass {
static char ID; // Pass identification, replacement for typeid
- DeadInstElimination() : BasicBlockPass(ID) {}
+ DeadInstElimination() : BasicBlockPass(
&
ID) {}
virtual bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
for (BasicBlock::iterator DI = BB.begin(); DI != BB.end(); ) {
virtual bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
for (BasicBlock::iterator DI = BB.begin(); DI != BB.end(); ) {
@@
-70,7
+70,7
@@
namespace {
//
struct DCE : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
//
struct DCE : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- DCE() : FunctionPass(ID) {}
+ DCE() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/DeadStoreElimination.cpp
b/lib/Transforms/Scalar/DeadStoreElimination.cpp
index c8fd9d9fa5561b487f0b0f95cd9c7f4f5f539e25..ce15f48958d37adb4860bc4b53e83c519a520a19 100644
(file)
--- a/
lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/
lib/Transforms/Scalar/DeadStoreElimination.cpp
@@
-40,7
+40,7
@@
namespace {
TargetData *TD;
static char ID; // Pass identification, replacement for typeid
TargetData *TD;
static char ID; // Pass identification, replacement for typeid
- DSE() : FunctionPass(ID) {}
+ DSE() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F) {
bool Changed = false;
virtual bool runOnFunction(Function &F) {
bool Changed = false;
diff --git
a/lib/Transforms/Scalar/GEPSplitter.cpp
b/lib/Transforms/Scalar/GEPSplitter.cpp
index 53dd06d24bb5b01cb34e30fb0f70a0043fa06982..5894f8ff443541da96f4672660eb70b11b56f896 100644
(file)
--- a/
lib/Transforms/Scalar/GEPSplitter.cpp
+++ b/
lib/Transforms/Scalar/GEPSplitter.cpp
@@
-27,7
+27,7
@@
namespace {
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
public:
static char ID; // Pass identification, replacement for typeid
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
public:
static char ID; // Pass identification, replacement for typeid
- explicit GEPSplitter() : FunctionPass(ID) {}
+ explicit GEPSplitter() : FunctionPass(
&
ID) {}
};
}
};
}
diff --git
a/lib/Transforms/Scalar/GVN.cpp
b/lib/Transforms/Scalar/GVN.cpp
index 42afd6d5dbca3e1c49359ef1dd755a990b99f710..646aec317ed669276693c06728fbdc6cbc9d652e 100644
(file)
--- a/
lib/Transforms/Scalar/GVN.cpp
+++ b/
lib/Transforms/Scalar/GVN.cpp
@@
-665,7
+665,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
explicit GVN(bool noloads = false)
public:
static char ID; // Pass identification, replacement for typeid
explicit GVN(bool noloads = false)
- : FunctionPass(ID), NoLoads(noloads), MD(0) { }
+ : FunctionPass(
&
ID), NoLoads(noloads), MD(0) { }
private:
bool NoLoads;
private:
bool NoLoads;
diff --git
a/lib/Transforms/Scalar/IndVarSimplify.cpp
b/lib/Transforms/Scalar/IndVarSimplify.cpp
index af2eafc47cbf346f3811addb05bff5498a9a0714..13c6a972602f27540b2d0be1bd7e6efb70389016 100644
(file)
--- a/
lib/Transforms/Scalar/IndVarSimplify.cpp
+++ b/
lib/Transforms/Scalar/IndVarSimplify.cpp
@@
-77,7
+77,7
@@
namespace {
public:
static char ID; // Pass identification, replacement for typeid
public:
static char ID; // Pass identification, replacement for typeid
- IndVarSimplify() : LoopPass(ID) {}
+ IndVarSimplify() : LoopPass(
&
ID) {}
virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
diff --git
a/lib/Transforms/Scalar/JumpThreading.cpp
b/lib/Transforms/Scalar/JumpThreading.cpp
index c2caf48b76169ab455aeb23c274d40340257ad35..c826d66813d71b4a89173f44597b1cfe592525ae 100644
(file)
--- a/
lib/Transforms/Scalar/JumpThreading.cpp
+++ b/
lib/Transforms/Scalar/JumpThreading.cpp
@@
-79,7
+79,7
@@
namespace {
#endif
public:
static char ID; // Pass identification
#endif
public:
static char ID; // Pass identification
- JumpThreading() : FunctionPass(ID) {}
+ JumpThreading() : FunctionPass(
&
ID) {}
bool runOnFunction(Function &F);
bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/LICM.cpp
b/lib/Transforms/Scalar/LICM.cpp
index 964a3b2a9a52306a99e8c5a91197f0de11fe3e81..da9f0b1e395458b82cfb09e0aecb9ddb4ba3c1f8 100644
(file)
--- a/
lib/Transforms/Scalar/LICM.cpp
+++ b/
lib/Transforms/Scalar/LICM.cpp
@@
-66,7
+66,7
@@
DisablePromotion("disable-licm-promotion", cl::Hidden,
namespace {
struct LICM : public LoopPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct LICM : public LoopPass {
static char ID; // Pass identification, replacement for typeid
- LICM() : LoopPass(ID) {}
+ LICM() : LoopPass(
&
ID) {}
virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
diff --git
a/lib/Transforms/Scalar/LoopDeletion.cpp
b/lib/Transforms/Scalar/LoopDeletion.cpp
index 543dfc1cba0960402cac3c1794f60198b5591443..bd0e20718611c12d7da74aef2874681987e4130f 100644
(file)
--- a/
lib/Transforms/Scalar/LoopDeletion.cpp
+++ b/
lib/Transforms/Scalar/LoopDeletion.cpp
@@
-28,7
+28,7
@@
namespace {
class LoopDeletion : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
class LoopDeletion : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
- LoopDeletion() : LoopPass(ID) {}
+ LoopDeletion() : LoopPass(
&
ID) {}
// Possibly eliminate loop L if it is dead.
bool runOnLoop(Loop* L, LPPassManager& LPM);
// Possibly eliminate loop L if it is dead.
bool runOnLoop(Loop* L, LPPassManager& LPM);
diff --git
a/lib/Transforms/Scalar/LoopIndexSplit.cpp
b/lib/Transforms/Scalar/LoopIndexSplit.cpp
index a4336743a8f010e1b0156eae4242813496b82ef9..4f1ac77c8de37ad04f94c99235f595d3eb99372e 100644
(file)
--- a/
lib/Transforms/Scalar/LoopIndexSplit.cpp
+++ b/
lib/Transforms/Scalar/LoopIndexSplit.cpp
@@
-74,7
+74,7
@@
namespace {
class LoopIndexSplit : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
class LoopIndexSplit : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
- LoopIndexSplit() : LoopPass(ID) {}
+ LoopIndexSplit() : LoopPass(
&
ID) {}
// Index split Loop L. Return true if loop is split.
bool runOnLoop(Loop *L, LPPassManager &LPM);
// Index split Loop L. Return true if loop is split.
bool runOnLoop(Loop *L, LPPassManager &LPM);
diff --git
a/lib/Transforms/Scalar/LoopRotation.cpp
b/lib/Transforms/Scalar/LoopRotation.cpp
index 1e4bfa94be56946c08d2c6c7108f72531bda44b2..6fecbb3a2806c92865ad39a1a313d5560fe67f5f 100644
(file)
--- a/
lib/Transforms/Scalar/LoopRotation.cpp
+++ b/
lib/Transforms/Scalar/LoopRotation.cpp
@@
-35,7
+35,7
@@
namespace {
class LoopRotate : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
class LoopRotate : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
- LoopRotate() : LoopPass(ID) {}
+ LoopRotate() : LoopPass(
&
ID) {}
// Rotate Loop L as many times as possible. Return true if
// loop is rotated at least once.
// Rotate Loop L as many times as possible. Return true if
// loop is rotated at least once.
diff --git
a/lib/Transforms/Scalar/LoopStrengthReduce.cpp
b/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index f7b22a0966b370493d8ee17e231f9519c1f95a6d..fd11e00df264945eb621cf67c1132ae32405aa16 100644
(file)
--- a/
lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/
lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@
-3751,7
+3751,7
@@
Pass *llvm::createLoopStrengthReducePass(const TargetLowering *TLI) {
}
LoopStrengthReduce::LoopStrengthReduce(const TargetLowering *tli)
}
LoopStrengthReduce::LoopStrengthReduce(const TargetLowering *tli)
- : LoopPass(ID), TLI(tli) {}
+ : LoopPass(
&
ID), TLI(tli) {}
void LoopStrengthReduce::getAnalysisUsage(AnalysisUsage &AU) const {
// We split critical edges, so we change the CFG. However, we do update
void LoopStrengthReduce::getAnalysisUsage(AnalysisUsage &AU) const {
// We split critical edges, so we change the CFG. However, we do update
diff --git
a/lib/Transforms/Scalar/LoopUnrollPass.cpp
b/lib/Transforms/Scalar/LoopUnrollPass.cpp
index 4ed2d4568724162fd148f85ce073857fd7851746..37ab3b0b5bcab2959cf9b8aff7c414bd895e1507 100644
(file)
--- a/
lib/Transforms/Scalar/LoopUnrollPass.cpp
+++ b/
lib/Transforms/Scalar/LoopUnrollPass.cpp
@@
-43,7
+43,7
@@
namespace {
class LoopUnroll : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
class LoopUnroll : public LoopPass {
public:
static char ID; // Pass ID, replacement for typeid
- LoopUnroll() : LoopPass(ID) {}
+ LoopUnroll() : LoopPass(
&
ID) {}
/// A magic value for use with the Threshold parameter to indicate
/// that the loop unroll should be performed regardless of how much
/// A magic value for use with the Threshold parameter to indicate
/// that the loop unroll should be performed regardless of how much
diff --git
a/lib/Transforms/Scalar/LoopUnswitch.cpp
b/lib/Transforms/Scalar/LoopUnswitch.cpp
index 717917e2cea9f7115bac50cc3d146bd639069ddc..f30d1e850ee53b73d4dda46745d653c1aab29b68 100644
(file)
--- a/
lib/Transforms/Scalar/LoopUnswitch.cpp
+++ b/
lib/Transforms/Scalar/LoopUnswitch.cpp
@@
-92,7
+92,7
@@
namespace {
public:
static char ID; // Pass ID, replacement for typeid
explicit LoopUnswitch(bool Os = false) :
public:
static char ID; // Pass ID, replacement for typeid
explicit LoopUnswitch(bool Os = false) :
- LoopPass(ID), OptimizeForSize(Os), redoLoop(false),
+ LoopPass(
&
ID), OptimizeForSize(Os), redoLoop(false),
currentLoop(NULL), DF(NULL), DT(NULL), loopHeader(NULL),
loopPreheader(NULL) {}
currentLoop(NULL), DF(NULL), DT(NULL), loopHeader(NULL),
loopPreheader(NULL) {}
diff --git
a/lib/Transforms/Scalar/LowerAtomic.cpp
b/lib/Transforms/Scalar/LowerAtomic.cpp
index 4d193d8136f9f2d513a2f8051915e057549fbf39..11f52570e18da97d98e8bd73c9966c3030bd7be8 100644
(file)
--- a/
lib/Transforms/Scalar/LowerAtomic.cpp
+++ b/
lib/Transforms/Scalar/LowerAtomic.cpp
@@
-138,7
+138,7
@@
bool LowerAtomicIntrinsic(CallInst *CI) {
struct LowerAtomic : public BasicBlockPass {
static char ID;
struct LowerAtomic : public BasicBlockPass {
static char ID;
- LowerAtomic() : BasicBlockPass(ID) {}
+ LowerAtomic() : BasicBlockPass(
&
ID) {}
bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
for (BasicBlock::iterator DI = BB.begin(), DE = BB.end(); DI != DE; ) {
bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
for (BasicBlock::iterator DI = BB.begin(), DE = BB.end(); DI != DE; ) {
diff --git
a/lib/Transforms/Scalar/MemCpyOptimizer.cpp
b/lib/Transforms/Scalar/MemCpyOptimizer.cpp
index 24fae423d2f703584bd09e12caf895ec86e28a9c..7c0563b17588ed4d58349208b874a420a6cb71c6 100644
(file)
--- a/
lib/Transforms/Scalar/MemCpyOptimizer.cpp
+++ b/
lib/Transforms/Scalar/MemCpyOptimizer.cpp
@@
-304,7
+304,7
@@
namespace {
bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
- MemCpyOpt() : FunctionPass(ID) {}
+ MemCpyOpt() : FunctionPass(
&
ID) {}
private:
// This transformation requires dominator postdominator info
private:
// This transformation requires dominator postdominator info
diff --git
a/lib/Transforms/Scalar/Reassociate.cpp
b/lib/Transforms/Scalar/Reassociate.cpp
index b8afcc12d927d165e3e6aa82763932cdf73b96cc..e686c52fd8a01b9231e040b86e6f20a459da9823 100644
(file)
--- a/
lib/Transforms/Scalar/Reassociate.cpp
+++ b/
lib/Transforms/Scalar/Reassociate.cpp
@@
-77,7
+77,7
@@
namespace {
bool MadeChange;
public:
static char ID; // Pass identification, replacement for typeid
bool MadeChange;
public:
static char ID; // Pass identification, replacement for typeid
- Reassociate() : FunctionPass(ID) {}
+ Reassociate() : FunctionPass(
&
ID) {}
bool runOnFunction(Function &F);
bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/Reg2Mem.cpp
b/lib/Transforms/Scalar/Reg2Mem.cpp
index cf32930dd64cace0a0b7800f0746f405bfcc7bfa..13222ac22004e27f0c9336322b62ce0c4a9ce3f6 100644
(file)
--- a/
lib/Transforms/Scalar/Reg2Mem.cpp
+++ b/
lib/Transforms/Scalar/Reg2Mem.cpp
@@
-36,7
+36,7
@@
STATISTIC(NumPhisDemoted, "Number of phi-nodes demoted");
namespace {
struct RegToMem : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct RegToMem : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- RegToMem() : FunctionPass(ID) {}
+ RegToMem() : FunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequiredID(BreakCriticalEdgesID);
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequiredID(BreakCriticalEdgesID);
@@
-124,7
+124,7
@@
bool RegToMem::runOnFunction(Function &F) {
// createDemoteRegisterToMemory - Provide an entry point to create this pass.
//
// createDemoteRegisterToMemory - Provide an entry point to create this pass.
//
-c
har &llvm::DemoteRegisterToMemoryID = RegToMem::ID
;
+c
onst PassInfo *const llvm::DemoteRegisterToMemoryID = &X
;
FunctionPass *llvm::createDemoteRegisterToMemoryPass() {
return new RegToMem();
}
FunctionPass *llvm::createDemoteRegisterToMemoryPass() {
return new RegToMem();
}
diff --git
a/lib/Transforms/Scalar/SCCP.cpp
b/lib/Transforms/Scalar/SCCP.cpp
index 5cf0abca4ccca0b8732c1be91c28324fe49cc4fb..82294dcd5fb3f4a36e30070282f86c9e82135970 100644
(file)
--- a/
lib/Transforms/Scalar/SCCP.cpp
+++ b/
lib/Transforms/Scalar/SCCP.cpp
@@
-1586,7
+1586,7
@@
namespace {
///
struct SCCP : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
///
struct SCCP : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- SCCP() : FunctionPass(ID) {}
+ SCCP() : FunctionPass(
&
ID) {}
// runOnFunction - Run the Sparse Conditional Constant Propagation
// algorithm, and return true if the function was modified.
// runOnFunction - Run the Sparse Conditional Constant Propagation
// algorithm, and return true if the function was modified.
@@
-1702,7
+1702,7
@@
namespace {
///
struct IPSCCP : public ModulePass {
static char ID;
///
struct IPSCCP : public ModulePass {
static char ID;
- IPSCCP() : ModulePass(ID) {}
+ IPSCCP() : ModulePass(
&
ID) {}
bool runOnModule(Module &M);
};
} // end anonymous namespace
bool runOnModule(Module &M);
};
} // end anonymous namespace
diff --git
a/lib/Transforms/Scalar/ScalarReplAggregates.cpp
b/lib/Transforms/Scalar/ScalarReplAggregates.cpp
index 68c2df1691e19c725c8ce8d4c18f50d732b61152..fa0a6972025eb011ecae5d112b982715db2554ca 100644
(file)
--- a/
lib/Transforms/Scalar/ScalarReplAggregates.cpp
+++ b/
lib/Transforms/Scalar/ScalarReplAggregates.cpp
@@
-51,7
+51,7
@@
STATISTIC(NumGlobals, "Number of allocas copied from constant global");
namespace {
struct SROA : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct SROA : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- explicit SROA(signed T = -1) : FunctionPass(ID) {
+ explicit SROA(signed T = -1) : FunctionPass(
&
ID) {
if (T == -1)
SRThreshold = 128;
else
if (T == -1)
SRThreshold = 128;
else
diff --git
a/lib/Transforms/Scalar/SimplifyCFGPass.cpp
b/lib/Transforms/Scalar/SimplifyCFGPass.cpp
index df6ef2ee75b61860bd7f45658883b9a64222cc16..dad8f2aaec0acf1051925c3abbd2fa29872b1efe 100644
(file)
--- a/
lib/Transforms/Scalar/SimplifyCFGPass.cpp
+++ b/
lib/Transforms/Scalar/SimplifyCFGPass.cpp
@@
-42,7
+42,7
@@
STATISTIC(NumSimpl, "Number of blocks simplified");
namespace {
struct CFGSimplifyPass : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct CFGSimplifyPass : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- CFGSimplifyPass() : FunctionPass(ID) {}
+ CFGSimplifyPass() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
};
virtual bool runOnFunction(Function &F);
};
diff --git
a/lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
b/lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
index 3ec70ec2e024f44ed49cc6cfc010a26d54cce349..f8828842e0d426a40ad154298843f4556bb0289b 100644
(file)
--- a/
lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
+++ b/
lib/Transforms/Scalar/SimplifyHalfPowrLibCalls.cpp
@@
-32,7
+32,7
@@
namespace {
const TargetData *TD;
public:
static char ID; // Pass identification
const TargetData *TD;
public:
static char ID; // Pass identification
- SimplifyHalfPowrLibCalls() : FunctionPass(ID) {}
+ SimplifyHalfPowrLibCalls() : FunctionPass(
&
ID) {}
bool runOnFunction(Function &F);
bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/SimplifyLibCalls.cpp
b/lib/Transforms/Scalar/SimplifyLibCalls.cpp
index d7ce53f3671530bbea4ec5f3429f14bcce1b4c41..1fdd6f144a795607420d86576a3cf8a02a109208 100644
(file)
--- a/
lib/Transforms/Scalar/SimplifyLibCalls.cpp
+++ b/
lib/Transforms/Scalar/SimplifyLibCalls.cpp
@@
-1237,7
+1237,7
@@
namespace {
bool Modified; // This is only used by doInitialization.
public:
static char ID; // Pass identification
bool Modified; // This is only used by doInitialization.
public:
static char ID; // Pass identification
- SimplifyLibCalls() : FunctionPass(ID), StrCpy(false), StrCpyChk(true) {}
+ SimplifyLibCalls() : FunctionPass(
&
ID), StrCpy(false), StrCpyChk(true) {}
void InitOptimizations();
bool runOnFunction(Function &F);
void InitOptimizations();
bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/Sink.cpp
b/lib/Transforms/Scalar/Sink.cpp
index 95d3dedfb62dbeece1b669f79499c7b9ae2befa5..2448312673ba50a6e7c3c56ae923ef3aac2686b7 100644
(file)
--- a/
lib/Transforms/Scalar/Sink.cpp
+++ b/
lib/Transforms/Scalar/Sink.cpp
@@
-35,7
+35,7
@@
namespace {
public:
static char ID; // Pass identification
public:
static char ID; // Pass identification
- Sinking() : FunctionPass(ID) {}
+ Sinking() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Scalar/TailDuplication.cpp
b/lib/Transforms/Scalar/TailDuplication.cpp
index 2e437ac778c8c32b0a4f9d291f45b4e3a3158b4a..006ce90b376437238d20307267fff90356b1eb2e 100644
(file)
--- a/
lib/Transforms/Scalar/TailDuplication.cpp
+++ b/
lib/Transforms/Scalar/TailDuplication.cpp
@@
-49,7
+49,7
@@
namespace {
bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
bool runOnFunction(Function &F);
public:
static char ID; // Pass identification, replacement for typeid
- TailDup() : FunctionPass(ID) {}
+ TailDup() : FunctionPass(
&
ID) {}
private:
inline bool shouldEliminateUnconditionalBranch(TerminatorInst *, unsigned);
private:
inline bool shouldEliminateUnconditionalBranch(TerminatorInst *, unsigned);
diff --git
a/lib/Transforms/Scalar/TailRecursionElimination.cpp
b/lib/Transforms/Scalar/TailRecursionElimination.cpp
index e197b528f8ee0e9b9a20b64673b091e60386f89c..5b105e4c0c25c3f7065e81123e6dbacf80311ccd 100644
(file)
--- a/
lib/Transforms/Scalar/TailRecursionElimination.cpp
+++ b/
lib/Transforms/Scalar/TailRecursionElimination.cpp
@@
-72,7
+72,7
@@
STATISTIC(NumAccumAdded, "Number of accumulators introduced");
namespace {
struct TailCallElim : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct TailCallElim : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- TailCallElim() : FunctionPass(ID) {}
+ TailCallElim() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
diff --git
a/lib/Transforms/Utils/BreakCriticalEdges.cpp
b/lib/Transforms/Utils/BreakCriticalEdges.cpp
index 424d8785c1de972e97a11d32146b8f322a1f6513..baa114b099e579182101f9565ae0007fa085ea94 100644
(file)
--- a/
lib/Transforms/Utils/BreakCriticalEdges.cpp
+++ b/
lib/Transforms/Utils/BreakCriticalEdges.cpp
@@
-36,7
+36,7
@@
STATISTIC(NumBroken, "Number of blocks inserted");
namespace {
struct BreakCriticalEdges : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct BreakCriticalEdges : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- BreakCriticalEdges() : FunctionPass(ID) {}
+ BreakCriticalEdges() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
@@
-57,7
+57,7
@@
static RegisterPass<BreakCriticalEdges>
X("break-crit-edges", "Break critical edges in CFG");
// Publically exposed interface to pass...
X("break-crit-edges", "Break critical edges in CFG");
// Publically exposed interface to pass...
-c
har &llvm::BreakCriticalEdgesID = BreakCriticalEdges::ID
;
+c
onst PassInfo *const llvm::BreakCriticalEdgesID = &X
;
FunctionPass *llvm::createBreakCriticalEdgesPass() {
return new BreakCriticalEdges();
}
FunctionPass *llvm::createBreakCriticalEdgesPass() {
return new BreakCriticalEdges();
}
diff --git
a/lib/Transforms/Utils/InstructionNamer.cpp
b/lib/Transforms/Utils/InstructionNamer.cpp
index 81a7101188e2f15bfaa0057c34e85f000e76fd21..090af95c4b87b7734e0153dfe17d789004246dc4 100644
(file)
--- a/
lib/Transforms/Utils/InstructionNamer.cpp
+++ b/
lib/Transforms/Utils/InstructionNamer.cpp
@@
-23,7
+23,7
@@
using namespace llvm;
namespace {
struct InstNamer : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct InstNamer : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- InstNamer() : FunctionPass(ID) {}
+ InstNamer() : FunctionPass(
&
ID) {}
void getAnalysisUsage(AnalysisUsage &Info) const {
Info.setPreservesAll();
void getAnalysisUsage(AnalysisUsage &Info) const {
Info.setPreservesAll();
@@
-53,7
+53,7
@@
namespace {
}
}
-c
har &llvm::InstructionNamerID = InstNamer::ID
;
+c
onst PassInfo *const llvm::InstructionNamerID = &X
;
//===----------------------------------------------------------------------===//
//
// InstructionNamer - Give any unnamed non-void instructions "tmp" names.
//===----------------------------------------------------------------------===//
//
// InstructionNamer - Give any unnamed non-void instructions "tmp" names.
diff --git
a/lib/Transforms/Utils/LCSSA.cpp
b/lib/Transforms/Utils/LCSSA.cpp
index bf3695d2c8344d54a6c4b5065e329e46b8218626..d380e0dbc10fcb1a059a94fcf02e2aecdb094c2f 100644
(file)
--- a/
lib/Transforms/Utils/LCSSA.cpp
+++ b/
lib/Transforms/Utils/LCSSA.cpp
@@
-47,7
+47,7
@@
STATISTIC(NumLCSSA, "Number of live out of a loop variables");
namespace {
struct LCSSA : public LoopPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct LCSSA : public LoopPass {
static char ID; // Pass identification, replacement for typeid
- LCSSA() : LoopPass(ID) {}
+ LCSSA() : LoopPass(
&
ID) {}
// Cached analysis information for the current function.
DominatorTree *DT;
// Cached analysis information for the current function.
DominatorTree *DT;
@@
-93,7
+93,7
@@
char LCSSA::ID = 0;
static RegisterPass<LCSSA> X("lcssa", "Loop-Closed SSA Form Pass");
Pass *llvm::createLCSSAPass() { return new LCSSA(); }
static RegisterPass<LCSSA> X("lcssa", "Loop-Closed SSA Form Pass");
Pass *llvm::createLCSSAPass() { return new LCSSA(); }
-c
har &llvm::LCSSAID = LCSSA::ID
;
+c
onst PassInfo *const llvm::LCSSAID = &X
;
/// BlockDominatesAnExit - Return true if the specified block dominates at least
/// BlockDominatesAnExit - Return true if the specified block dominates at least
diff --git
a/lib/Transforms/Utils/LoopSimplify.cpp
b/lib/Transforms/Utils/LoopSimplify.cpp
index 16902ff91505cdf0182ad9286549175f698dc4df..1571fe8f0b36ed70af9871939dcd9f6b276eea7b 100644
(file)
--- a/
lib/Transforms/Utils/LoopSimplify.cpp
+++ b/
lib/Transforms/Utils/LoopSimplify.cpp
@@
-65,7
+65,7
@@
STATISTIC(NumNested , "Number of nested loops split out");
namespace {
struct LoopSimplify : public LoopPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct LoopSimplify : public LoopPass {
static char ID; // Pass identification, replacement for typeid
- LoopSimplify() : LoopPass(ID) {}
+ LoopSimplify() : LoopPass(
&
ID) {}
// AA - If we have an alias analysis object to update, this is it, otherwise
// this is null.
// AA - If we have an alias analysis object to update, this is it, otherwise
// this is null.
@@
-110,7
+110,7
@@
static RegisterPass<LoopSimplify>
X("loopsimplify", "Canonicalize natural loops", true);
// Publically exposed interface to pass...
X("loopsimplify", "Canonicalize natural loops", true);
// Publically exposed interface to pass...
-c
har &llvm::LoopSimplifyID = LoopSimplify::ID
;
+c
onst PassInfo *const llvm::LoopSimplifyID = &X
;
Pass *llvm::createLoopSimplifyPass() { return new LoopSimplify(); }
/// runOnLoop - Run down all loops in the CFG (recursively, but we could do
Pass *llvm::createLoopSimplifyPass() { return new LoopSimplify(); }
/// runOnLoop - Run down all loops in the CFG (recursively, but we could do
diff --git
a/lib/Transforms/Utils/LowerInvoke.cpp
b/lib/Transforms/Utils/LowerInvoke.cpp
index f239a9970d834be2b5869bc9d38b530a338f1a28..2696e6913f3bfa54fd04966bdd5f46ed1536e131 100644
(file)
--- a/
lib/Transforms/Utils/LowerInvoke.cpp
+++ b/
lib/Transforms/Utils/LowerInvoke.cpp
@@
-78,7
+78,7
@@
namespace {
static char ID; // Pass identification, replacement for typeid
explicit LowerInvoke(const TargetLowering *tli = NULL,
bool useExpensiveEHSupport = ExpensiveEHSupport)
static char ID; // Pass identification, replacement for typeid
explicit LowerInvoke(const TargetLowering *tli = NULL,
bool useExpensiveEHSupport = ExpensiveEHSupport)
- : FunctionPass(ID), useExpensiveEHSupport(useExpensiveEHSupport),
+ : FunctionPass(
&
ID), useExpensiveEHSupport(useExpensiveEHSupport),
TLI(tli) { }
bool doInitialization(Module &M);
bool runOnFunction(Function &F);
TLI(tli) { }
bool doInitialization(Module &M);
bool runOnFunction(Function &F);
@@
-103,7
+103,7
@@
char LowerInvoke::ID = 0;
static RegisterPass<LowerInvoke>
X("lowerinvoke", "Lower invoke and unwind, for unwindless code generators");
static RegisterPass<LowerInvoke>
X("lowerinvoke", "Lower invoke and unwind, for unwindless code generators");
-c
har &llvm::LowerInvokePassID = LowerInvoke::ID
;
+c
onst PassInfo *const llvm::LowerInvokePassID = &X
;
// Public Interface To the LowerInvoke pass.
FunctionPass *llvm::createLowerInvokePass(const TargetLowering *TLI) {
// Public Interface To the LowerInvoke pass.
FunctionPass *llvm::createLowerInvokePass(const TargetLowering *TLI) {
diff --git
a/lib/Transforms/Utils/LowerSwitch.cpp
b/lib/Transforms/Utils/LowerSwitch.cpp
index 1910fd9e5205a589f7884a1b309f02b83bcca041..468a5fe4c5e5dc709083bceec5088fb6d15c2e9e 100644
(file)
--- a/
lib/Transforms/Utils/LowerSwitch.cpp
+++ b/
lib/Transforms/Utils/LowerSwitch.cpp
@@
-34,7
+34,7
@@
namespace {
class LowerSwitch : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
class LowerSwitch : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
- LowerSwitch() : FunctionPass(ID) {}
+ LowerSwitch() : FunctionPass(
&
ID) {}
virtual bool runOnFunction(Function &F);
virtual bool runOnFunction(Function &F);
@@
-85,7
+85,7
@@
static RegisterPass<LowerSwitch>
X("lowerswitch", "Lower SwitchInst's to branches");
// Publically exposed interface to pass...
X("lowerswitch", "Lower SwitchInst's to branches");
// Publically exposed interface to pass...
-c
har &llvm::LowerSwitchID = LowerSwitch::ID
;
+c
onst PassInfo *const llvm::LowerSwitchID = &X
;
// createLowerSwitchPass - Interface to this file...
FunctionPass *llvm::createLowerSwitchPass() {
return new LowerSwitch();
// createLowerSwitchPass - Interface to this file...
FunctionPass *llvm::createLowerSwitchPass() {
return new LowerSwitch();
diff --git
a/lib/Transforms/Utils/Mem2Reg.cpp
b/lib/Transforms/Utils/Mem2Reg.cpp
index 13dda65a6b088e3158fa4f9de8cb17ebe32cd2e7..99203b662120eaa697ee6a243d2b76122d810010 100644
(file)
--- a/
lib/Transforms/Utils/Mem2Reg.cpp
+++ b/
lib/Transforms/Utils/Mem2Reg.cpp
@@
-27,7
+27,7
@@
STATISTIC(NumPromoted, "Number of alloca's promoted");
namespace {
struct PromotePass : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct PromotePass : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- PromotePass() : FunctionPass(ID) {}
+ PromotePass() : FunctionPass(
&
ID) {}
// runOnFunction - To run this pass, first we calculate the alloca
// instructions that are safe for promotion, then we promote each one.
// runOnFunction - To run this pass, first we calculate the alloca
// instructions that are safe for promotion, then we promote each one.
@@
-82,7
+82,7
@@
bool PromotePass::runOnFunction(Function &F) {
}
// Publically exposed interface to pass...
}
// Publically exposed interface to pass...
-c
har &llvm::PromoteMemoryToRegisterID = PromotePass::ID
;
+c
onst PassInfo *const llvm::PromoteMemoryToRegisterID = &X
;
// createPromoteMemoryToRegister - Provide an entry point to create this pass.
//
FunctionPass *llvm::createPromoteMemoryToRegisterPass() {
// createPromoteMemoryToRegister - Provide an entry point to create this pass.
//
FunctionPass *llvm::createPromoteMemoryToRegisterPass() {
diff --git
a/lib/Transforms/Utils/SSI.cpp
b/lib/Transforms/Utils/SSI.cpp
index 81523d3bdc8a85643461c3872959a0f918ae1e50..62a93e4e99110f10247679877e4a1920a4a60aea 100644
(file)
--- a/
lib/Transforms/Utils/SSI.cpp
+++ b/
lib/Transforms/Utils/SSI.cpp
@@
-399,7
+399,7
@@
INITIALIZE_PASS(SSI, "ssi",
namespace {
struct SSIEverything : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct SSIEverything : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- SSIEverything() : FunctionPass(ID) {}
+ SSIEverything() : FunctionPass(
&
ID) {}
bool runOnFunction(Function &F);
bool runOnFunction(Function &F);
diff --git
a/lib/VMCore/Pass.cpp
b/lib/VMCore/Pass.cpp
index fb23fbfbe15e5f52590074541ee216eb855f6636..5a176d59f9b868ac927d991ccc3a8fd365311fb9 100644
(file)
--- a/
lib/VMCore/Pass.cpp
+++ b/
lib/VMCore/Pass.cpp
@@
-36,7
+36,14
@@
using namespace llvm;
// Pass Implementation
//
// Pass Implementation
//
-Pass::Pass(PassKind K, char &pid) : Resolver(0), PassID(&pid), Kind(K) { }
+Pass::Pass(PassKind K, intptr_t pid) : Resolver(0), PassID(pid), Kind(K) {
+ assert(pid && "pid cannot be 0");
+}
+
+Pass::Pass(PassKind K, const void *pid)
+ : Resolver(0), PassID((intptr_t)pid), Kind(K) {
+ assert(pid && "pid cannot be 0");
+}
// Force out-of-line virtual method.
Pass::~Pass() {
// Force out-of-line virtual method.
Pass::~Pass() {
@@
-55,8
+62,8
@@
PassManagerType ModulePass::getPotentialPassManagerType() const {
return PMT_ModulePassManager;
}
return PMT_ModulePassManager;
}
-bool Pass::mustPreserveAnalysisID(c
har &A
ID) const {
- return Resolver->getAnalysisIfAvailable(
&A
ID, true) != 0;
+bool Pass::mustPreserveAnalysisID(c
onst PassInfo *Analysis
ID) const {
+ return Resolver->getAnalysisIfAvailable(
Analysis
ID, true) != 0;
}
// dumpPassStructure - Implement the -debug-passes=Structure option
}
// dumpPassStructure - Implement the -debug-passes=Structure option
@@
-69,9
+76,7
@@
void Pass::dumpPassStructure(unsigned Offset) {
/// Registration templates, but can be overloaded directly.
///
const char *Pass::getPassName() const {
/// Registration templates, but can be overloaded directly.
///
const char *Pass::getPassName() const {
- AnalysisID AID = getPassID();
- const PassInfo *PI = PassRegistry::getPassRegistry()->getPassInfo(AID);
- if (PI)
+ if (const PassInfo *PI = getPassInfo())
return PI->getPassName();
return "Unnamed pass: implement Pass::getPassName()";
}
return PI->getPassName();
return "Unnamed pass: implement Pass::getPassName()";
}
@@
-97,7
+102,7
@@
void Pass::verifyAnalysis() const {
// By default, don't do anything.
}
// By default, don't do anything.
}
-void *Pass::getAdjustedAnalysisPointer(
AnalysisID AID
) {
+void *Pass::getAdjustedAnalysisPointer(
const PassInfo *
) {
return this;
}
return this;
}
@@
-229,7
+234,13
@@
PassManagerType BasicBlockPass::getPotentialPassManagerType() const {
return PMT_BasicBlockPassManager;
}
return PMT_BasicBlockPassManager;
}
-const PassInfo *Pass::lookupPassInfo(const void *TI) {
+// getPassInfo - Return the PassInfo data structure that corresponds to this
+// pass...
+const PassInfo *Pass::getPassInfo() const {
+ return lookupPassInfo(PassID);
+}
+
+const PassInfo *Pass::lookupPassInfo(intptr_t TI) {
return PassRegistry::getPassRegistry()->getPassInfo(TI);
}
return PassRegistry::getPassRegistry()->getPassInfo(TI);
}
@@
-251,8
+262,8
@@
Pass *PassInfo::createPass() const {
// RegisterAGBase implementation
//
// RegisterAGBase implementation
//
-RegisterAGBase::RegisterAGBase(const char *Name,
const void *
InterfaceID,
-
const void *
PassID, bool isDefault)
+RegisterAGBase::RegisterAGBase(const char *Name,
intptr_t
InterfaceID,
+
intptr_t
PassID, bool isDefault)
: PassInfo(Name, InterfaceID) {
PassRegistry::getPassRegistry()->registerAnalysisGroup(InterfaceID, PassID,
*this, isDefault);
: PassInfo(Name, InterfaceID) {
PassRegistry::getPassRegistry()->registerAnalysisGroup(InterfaceID, PassID,
*this, isDefault);
@@
-295,7
+306,7
@@
namespace {
void passEnumerate(const PassInfo *P) {
if (P->isCFGOnlyPass())
void passEnumerate(const PassInfo *P) {
if (P->isCFGOnlyPass())
- CFGOnlyList.push_back(P
->getTypeInfo()
);
+ CFGOnlyList.push_back(P);
}
};
}
}
};
}
@@
-315,25
+326,15
@@
void AnalysisUsage::setPreservesCFG() {
GetCFGOnlyPasses(Preserved).enumeratePasses();
}
GetCFGOnlyPasses(Preserved).enumeratePasses();
}
-AnalysisUsage &AnalysisUsage::addPreserved(StringRef Arg) {
- const PassInfo *PI = Pass::lookupPassInfo(Arg);
- // If the pass exists, preserve it. Otherwise silently do nothing.
- if (PI) Preserved.push_back(PI->getTypeInfo());
- return *this;
-}
-
-AnalysisUsage &AnalysisUsage::addRequiredID(const void *ID) {
+AnalysisUsage &AnalysisUsage::addRequiredID(AnalysisID ID) {
+ assert(ID && "Pass class not registered!");
Required.push_back(ID);
return *this;
}
Required.push_back(ID);
return *this;
}
-AnalysisUsage &AnalysisUsage::addRequiredID(char &ID) {
- Required.push_back(&ID);
- return *this;
-}
-
-AnalysisUsage &AnalysisUsage::addRequiredTransitiveID(char &ID) {
- Required.push_back(&ID);
- RequiredTransitive.push_back(&ID);
+AnalysisUsage &AnalysisUsage::addRequiredTransitiveID(AnalysisID ID) {
+ assert(ID && "Pass class not registered!");
+ Required.push_back(ID);
+ RequiredTransitive.push_back(ID);
return *this;
}
return *this;
}
diff --git
a/lib/VMCore/PassManager.cpp
b/lib/VMCore/PassManager.cpp
index 75d5503962a42e86aa338fff9ac6f5b74cc92e2f..296b0d13a710b8bcf1ced3582e924611e21b4d49 100644
(file)
--- a/
lib/VMCore/PassManager.cpp
+++ b/
lib/VMCore/PassManager.cpp
@@
-84,15
+84,13
@@
PrintAfterAll("print-after-all",
static bool ShouldPrintBeforeOrAfterPass(Pass *P,
PassOptionList &PassesToPrint) {
static bool ShouldPrintBeforeOrAfterPass(Pass *P,
PassOptionList &PassesToPrint) {
- if (const llvm::PassInfo *PI =
- PassRegistry::getPassRegistry()->getPassInfo(P->getPassID())) {
- for (unsigned i = 0, ie = PassesToPrint.size(); i < ie; ++i) {
- const llvm::PassInfo *PassInf = PassesToPrint[i];
- if (PassInf)
- if (PassInf->getPassArgument() == PI->getPassArgument()) {
- return true;
- }
- }
+ for (unsigned i = 0, ie = PassesToPrint.size(); i < ie; ++i) {
+ const llvm::PassInfo *PassInf = PassesToPrint[i];
+ if (PassInf && P->getPassInfo())
+ if (PassInf->getPassArgument() ==
+ P->getPassInfo()->getPassArgument()) {
+ return true;
+ }
}
return false;
}
}
return false;
}
@@
-165,7
+163,7
@@
class BBPassManager : public PMDataManager, public FunctionPass {
public:
static char ID;
explicit BBPassManager(int Depth)
public:
static char ID;
explicit BBPassManager(int Depth)
- : PMDataManager(Depth), FunctionPass(ID) {}
+ : PMDataManager(Depth), FunctionPass(
&
ID) {}
/// Execute all of the passes scheduled for execution. Keep track of
/// whether any of the passes modifies the function, and if so, return true.
/// Execute all of the passes scheduled for execution. Keep track of
/// whether any of the passes modifies the function, and if so, return true.
@@
-226,7
+224,7
@@
private:
public:
static char ID;
explicit FunctionPassManagerImpl(int Depth) :
public:
static char ID;
explicit FunctionPassManagerImpl(int Depth) :
- Pass(PT_PassManager, ID), PMDataManager(Depth),
+ Pass(PT_PassManager,
&
ID), PMDataManager(Depth),
PMTopLevelManager(TLM_Function), wasRun(false) { }
/// add - Add a pass to the queue of passes to run. This passes ownership of
PMTopLevelManager(TLM_Function), wasRun(false) { }
/// add - Add a pass to the queue of passes to run. This passes ownership of
@@
-300,7
+298,7
@@
class MPPassManager : public Pass, public PMDataManager {
public:
static char ID;
explicit MPPassManager(int Depth) :
public:
static char ID;
explicit MPPassManager(int Depth) :
- Pass(PT_PassManager, ID), PMDataManager(Depth) { }
+ Pass(PT_PassManager,
&
ID), PMDataManager(Depth) { }
// Delete on the fly managers.
virtual ~MPPassManager() {
// Delete on the fly managers.
virtual ~MPPassManager() {
@@
-334,7
+332,7
@@
public:
/// Return function pass corresponding to PassInfo PI, that is
/// required by module pass MP. Instantiate analysis pass, by using
/// its runOnFunction() for function F.
/// Return function pass corresponding to PassInfo PI, that is
/// required by module pass MP. Instantiate analysis pass, by using
/// its runOnFunction() for function F.
- virtual Pass* getOnTheFlyPass(Pass *MP,
AnalysisID
PI, Function &F);
+ virtual Pass* getOnTheFlyPass(Pass *MP,
const PassInfo *
PI, Function &F);
virtual const char *getPassName() const {
return "Module Pass Manager";
virtual const char *getPassName() const {
return "Module Pass Manager";
@@
-385,7
+383,7
@@
class PassManagerImpl : public Pass,
public:
static char ID;
explicit PassManagerImpl(int Depth) :
public:
static char ID;
explicit PassManagerImpl(int Depth) :
- Pass(PT_PassManager, ID), PMDataManager(Depth),
+ Pass(PT_PassManager,
&
ID), PMDataManager(Depth),
PMTopLevelManager(TLM_Pass) { }
/// add - Add a pass to the queue of passes to run. This passes ownership of
PMTopLevelManager(TLM_Pass) { }
/// add - Add a pass to the queue of passes to run. This passes ownership of
@@
-570,9
+568,8
@@
void PMTopLevelManager::schedulePass(Pass *P) {
// If P is an analysis pass and it is available then do not
// generate the analysis again. Stale analysis info should not be
// available at this point.
// If P is an analysis pass and it is available then do not
// generate the analysis again. Stale analysis info should not be
// available at this point.
- const PassInfo *PI =
- PassRegistry::getPassRegistry()->getPassInfo(P->getPassID());
- if (PI && PI->isAnalysis() && findAnalysisPass(P->getPassID())) {
+ if (P->getPassInfo() &&
+ P->getPassInfo()->isAnalysis() && findAnalysisPass(P->getPassInfo())) {
delete P;
return;
}
delete P;
return;
}
@@
-589,8
+586,7
@@
void PMTopLevelManager::schedulePass(Pass *P) {
Pass *AnalysisPass = findAnalysisPass(*I);
if (!AnalysisPass) {
Pass *AnalysisPass = findAnalysisPass(*I);
if (!AnalysisPass) {
- const PassInfo *PI = PassRegistry::getPassRegistry()->getPassInfo(*I);
- AnalysisPass = PI->createPass();
+ AnalysisPass = (*I)->createPass();
if (P->getPotentialPassManagerType () ==
AnalysisPass->getPotentialPassManagerType())
// Schedule analysis pass that is managed by the same pass manager.
if (P->getPotentialPassManagerType () ==
AnalysisPass->getPotentialPassManagerType())
// Schedule analysis pass that is managed by the same pass manager.
@@
-636,21
+632,16
@@
Pass *PMTopLevelManager::findAnalysisPass(AnalysisID AID) {
for (SmallVector<ImmutablePass *, 8>::iterator I = ImmutablePasses.begin(),
E = ImmutablePasses.end(); P == NULL && I != E; ++I) {
for (SmallVector<ImmutablePass *, 8>::iterator I = ImmutablePasses.begin(),
E = ImmutablePasses.end(); P == NULL && I != E; ++I) {
-
AnalysisID PI = (*I)->getPassID
();
+
const PassInfo *PI = (*I)->getPassInfo
();
if (PI == AID)
P = *I;
// If Pass not found then check the interfaces implemented by Immutable Pass
if (!P) {
if (PI == AID)
P = *I;
// If Pass not found then check the interfaces implemented by Immutable Pass
if (!P) {
- const PassInfo *PassInf =
- PassRegistry::getPassRegistry()->getPassInfo(PI);
const std::vector<const PassInfo*> &ImmPI =
const std::vector<const PassInfo*> &ImmPI =
- PassInf->getInterfacesImplemented();
- for (std::vector<const PassInfo*>::const_iterator II = ImmPI.begin(),
- EE = ImmPI.end(); II != EE; ++II) {
- if ((*II)->getTypeInfo() == AID)
- P = *I;
- }
+ PI->getInterfacesImplemented();
+ if (std::find(ImmPI.begin(), ImmPI.end(), AID) != ImmPI.end())
+ P = *I;
}
}
}
}
@@
-733,19
+724,16
@@
PMTopLevelManager::~PMTopLevelManager() {
/// Augement AvailableAnalysis by adding analysis made available by pass P.
void PMDataManager::recordAvailableAnalysis(Pass *P) {
/// Augement AvailableAnalysis by adding analysis made available by pass P.
void PMDataManager::recordAvailableAnalysis(Pass *P) {
- AnalysisID PI = P->getPassID();
+ const PassInfo *PI = P->getPassInfo();
+ if (PI == 0) return;
AvailableAnalysis[PI] = P;
AvailableAnalysis[PI] = P;
-
- assert(AvailableAnalysis.size());
//This pass is the current implementation of all of the interfaces it
//implements as well.
//This pass is the current implementation of all of the interfaces it
//implements as well.
- const PassInfo *PInf = PassRegistry::getPassRegistry()->getPassInfo(PI);
- if (PInf == 0) return;
- const std::vector<const PassInfo*> &II = PInf->getInterfacesImplemented();
+ const std::vector<const PassInfo*> &II = PI->getInterfacesImplemented();
for (unsigned i = 0, e = II.size(); i != e; ++i)
for (unsigned i = 0, e = II.size(); i != e; ++i)
- AvailableAnalysis[II[i]
->getTypeInfo()
] = P;
+ AvailableAnalysis[II[i]] = P;
}
// Return true if P preserves high level analysis used by other
}
// Return true if P preserves high level analysis used by other
@@
-761,7
+749,7
@@
bool PMDataManager::preserveHigherLevelAnalysis(Pass *P) {
Pass *P1 = *I;
if (P1->getAsImmutablePass() == 0 &&
std::find(PreservedSet.begin(), PreservedSet.end(),
Pass *P1 = *I;
if (P1->getAsImmutablePass() == 0 &&
std::find(PreservedSet.begin(), PreservedSet.end(),
- P1->getPassI
D
()) ==
+ P1->getPassI
nfo
()) ==
PreservedSet.end())
return false;
}
PreservedSet.end())
return false;
}
@@
-811,7
+799,7
@@
void PMDataManager::removeNotPreservedAnalysis(Pass *P) {
AvailableAnalysis.erase(Info);
}
}
AvailableAnalysis.erase(Info);
}
}
-
+
// Check inherited analysis also. If P is not preserving analysis
// provided by parent manager then remove it here.
for (unsigned Index = 0; Index < PMT_Last; ++Index) {
// Check inherited analysis also. If P is not preserving analysis
// provided by parent manager then remove it here.
for (unsigned Index = 0; Index < PMT_Last; ++Index) {
@@
-873,17
+861,16
@@
void PMDataManager::freePass(Pass *P, StringRef Msg,
P->releaseMemory();
}
P->releaseMemory();
}
- AnalysisID PI = P->getPassID();
- if (const PassInfo *PInf = PassRegistry::getPassRegistry()->getPassInfo(PI)) {
+ if (const PassInfo *PI = P->getPassInfo()) {
// Remove the pass itself (if it is not already removed).
AvailableAnalysis.erase(PI);
// Remove all interfaces this pass implements, for which it is also
// listed as the available implementation.
// Remove the pass itself (if it is not already removed).
AvailableAnalysis.erase(PI);
// Remove all interfaces this pass implements, for which it is also
// listed as the available implementation.
- const std::vector<const PassInfo*> &II = PI
nf
->getInterfacesImplemented();
+ const std::vector<const PassInfo*> &II = PI->getInterfacesImplemented();
for (unsigned i = 0, e = II.size(); i != e; ++i) {
std::map<AnalysisID, Pass*>::iterator Pos =
for (unsigned i = 0, e = II.size(); i != e; ++i) {
std::map<AnalysisID, Pass*>::iterator Pos =
- AvailableAnalysis.find(II[i]
->getTypeInfo()
);
+ AvailableAnalysis.find(II[i]);
if (Pos != AvailableAnalysis.end() && Pos->second == P)
AvailableAnalysis.erase(Pos);
}
if (Pos != AvailableAnalysis.end() && Pos->second == P)
AvailableAnalysis.erase(Pos);
}
@@
-954,8
+941,7
@@
void PMDataManager::add(Pass *P, bool ProcessAnalysis) {
for (SmallVector<AnalysisID, 8>::iterator
I = ReqAnalysisNotAvailable.begin(),
E = ReqAnalysisNotAvailable.end() ;I != E; ++I) {
for (SmallVector<AnalysisID, 8>::iterator
I = ReqAnalysisNotAvailable.begin(),
E = ReqAnalysisNotAvailable.end() ;I != E; ++I) {
- const PassInfo *PI = PassRegistry::getPassRegistry()->getPassInfo(*I);
- Pass *AnalysisPass = PI->createPass();
+ Pass *AnalysisPass = (*I)->createPass();
this->addLowerLevelRequiredPass(P, AnalysisPass);
}
this->addLowerLevelRequiredPass(P, AnalysisPass);
}
@@
-1058,8
+1044,7
@@
void PMDataManager::dumpPassArguments() const {
if (PMDataManager *PMD = (*I)->getAsPMDataManager())
PMD->dumpPassArguments();
else
if (PMDataManager *PMD = (*I)->getAsPMDataManager())
PMD->dumpPassArguments();
else
- if (const PassInfo *PI =
- PassRegistry::getPassRegistry()->getPassInfo((*I)->getPassID()))
+ if (const PassInfo *PI = (*I)->getPassInfo())
if (!PI->isAnalysisGroup())
dbgs() << " -" << PI->getPassArgument();
}
if (!PI->isAnalysisGroup())
dbgs() << " -" << PI->getPassArgument();
}
@@
-1131,8
+1116,7
@@
void PMDataManager::dumpAnalysisUsage(StringRef Msg, const Pass *P,
dbgs() << (void*)P << std::string(getDepth()*2+3, ' ') << Msg << " Analyses:";
for (unsigned i = 0; i != Set.size(); ++i) {
if (i) dbgs() << ',';
dbgs() << (void*)P << std::string(getDepth()*2+3, ' ') << Msg << " Analyses:";
for (unsigned i = 0; i != Set.size(); ++i) {
if (i) dbgs() << ',';
- const PassInfo *PInf = PassRegistry::getPassRegistry()->getPassInfo(Set[i]);
- dbgs() << ' ' << PInf->getPassName();
+ dbgs() << ' ' << Set[i]->getPassName();
}
dbgs() << '\n';
}
}
dbgs() << '\n';
}
@@
-1163,7
+1147,7
@@
void PMDataManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
llvm_unreachable("Unable to schedule pass");
}
llvm_unreachable("Unable to schedule pass");
}
-Pass *PMDataManager::getOnTheFlyPass(Pass *P,
AnalysisID
PI, Function &F) {
+Pass *PMDataManager::getOnTheFlyPass(Pass *P,
const PassInfo *
PI, Function &F) {
assert(0 && "Unable to find on the fly pass");
return NULL;
}
assert(0 && "Unable to find on the fly pass");
return NULL;
}
@@
-1182,7
+1166,7
@@
Pass *AnalysisResolver::getAnalysisIfAvailable(AnalysisID ID, bool dir) const {
return PM.findAnalysisPass(ID, dir);
}
return PM.findAnalysisPass(ID, dir);
}
-Pass *AnalysisResolver::findImplPass(Pass *P,
AnalysisID
AnalysisPI,
+Pass *AnalysisResolver::findImplPass(Pass *P,
const PassInfo *
AnalysisPI,
Function &F) {
return PM.getOnTheFlyPass(P, AnalysisPI, F);
}
Function &F) {
return PM.getOnTheFlyPass(P, AnalysisPI, F);
}
@@
-1577,7
+1561,7
@@
void MPPassManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
/// Return function pass corresponding to PassInfo PI, that is
/// required by module pass MP. Instantiate analysis pass, by using
/// its runOnFunction() for function F.
/// Return function pass corresponding to PassInfo PI, that is
/// required by module pass MP. Instantiate analysis pass, by using
/// its runOnFunction() for function F.
-Pass* MPPassManager::getOnTheFlyPass(Pass *MP,
AnalysisID
PI, Function &F){
+Pass* MPPassManager::getOnTheFlyPass(Pass *MP,
const PassInfo *
PI, Function &F){
FunctionPassManagerImpl *FPP = OnTheFlyManagers[MP];
assert(FPP && "Unable to find on the fly pass");
FunctionPassManagerImpl *FPP = OnTheFlyManagers[MP];
assert(FPP && "Unable to find on the fly pass");
diff --git
a/lib/VMCore/PassRegistry.cpp
b/lib/VMCore/PassRegistry.cpp
index 21dba56aad728725c2558fda00eb1098840d9e96..844d82660b4241dcb988fdc1788c485b7c70e0e6 100644
(file)
--- a/
lib/VMCore/PassRegistry.cpp
+++ b/
lib/VMCore/PassRegistry.cpp
@@
-60,7
+60,7
@@
ManagedCleanup<&cleanupPassRegistry> registryCleanup ATTRIBUTE_USED;
}
}
-const PassInfo *PassRegistry::getPassInfo(
const void *
TI) const {
+const PassInfo *PassRegistry::getPassInfo(
intptr_t
TI) const {
sys::SmartScopedLock<true> Guard(Lock);
MapType::const_iterator I = PassInfoMap.find(TI);
return I != PassInfoMap.end() ? I->second : 0;
sys::SmartScopedLock<true> Guard(Lock);
MapType::const_iterator I = PassInfoMap.find(TI);
return I != PassInfoMap.end() ? I->second : 0;
@@
-108,8
+108,8
@@
void PassRegistry::enumerateWith(PassRegistrationListener *L) {
/// Analysis Group Mechanisms.
/// Analysis Group Mechanisms.
-void PassRegistry::registerAnalysisGroup(
const void *
InterfaceID,
-
const void *
PassID,
+void PassRegistry::registerAnalysisGroup(
intptr_t
InterfaceID,
+
intptr_t
PassID,
PassInfo& Registeree,
bool isDefault) {
PassInfo *InterfaceInfo = const_cast<PassInfo*>(getPassInfo(InterfaceID));
PassInfo& Registeree,
bool isDefault) {
PassInfo *InterfaceInfo = const_cast<PassInfo*>(getPassInfo(InterfaceID));
diff --git
a/lib/VMCore/PrintModulePass.cpp
b/lib/VMCore/PrintModulePass.cpp
index 415309e52fa9c54aba59467f1ae6bdc453da51d1..7baacf71ceb4e459030288d1a3c0914bb262a3eb 100644
(file)
--- a/
lib/VMCore/PrintModulePass.cpp
+++ b/
lib/VMCore/PrintModulePass.cpp
@@
-28,10
+28,10
@@
namespace {
bool DeleteStream; // Delete the ostream in our dtor?
public:
static char ID;
bool DeleteStream; // Delete the ostream in our dtor?
public:
static char ID;
- PrintModulePass() : ModulePass(ID), Out(&dbgs()),
+ PrintModulePass() : ModulePass(
&
ID), Out(&dbgs()),
DeleteStream(false) {}
PrintModulePass(const std::string &B, raw_ostream *o, bool DS)
DeleteStream(false) {}
PrintModulePass(const std::string &B, raw_ostream *o, bool DS)
- : ModulePass(ID), Banner(B), Out(o), DeleteStream(DS) {}
+ : ModulePass(
&
ID), Banner(B), Out(o), DeleteStream(DS) {}
~PrintModulePass() {
if (DeleteStream) delete Out;
~PrintModulePass() {
if (DeleteStream) delete Out;
@@
-53,10
+53,10
@@
namespace {
bool DeleteStream; // Delete the ostream in our dtor?
public:
static char ID;
bool DeleteStream; // Delete the ostream in our dtor?
public:
static char ID;
- PrintFunctionPass() : FunctionPass(ID), Banner(""), Out(&dbgs()),
+ PrintFunctionPass() : FunctionPass(
&
ID), Banner(""), Out(&dbgs()),
DeleteStream(false) {}
PrintFunctionPass(const std::string &B, raw_ostream *o, bool DS)
DeleteStream(false) {}
PrintFunctionPass(const std::string &B, raw_ostream *o, bool DS)
- : FunctionPass(ID), Banner(B), Out(o), DeleteStream(DS) {}
+ : FunctionPass(
&
ID), Banner(B), Out(o), DeleteStream(DS) {}
inline ~PrintFunctionPass() {
if (DeleteStream) delete Out;
inline ~PrintFunctionPass() {
if (DeleteStream) delete Out;
diff --git
a/lib/VMCore/Verifier.cpp
b/lib/VMCore/Verifier.cpp
index 52fd134d488d3ba6cad86c14b7ef492557d08d37..4de1282caf9b3edd80f9ef429141b0331107abd5 100644
(file)
--- a/
lib/VMCore/Verifier.cpp
+++ b/
lib/VMCore/Verifier.cpp
@@
-72,7
+72,7
@@
namespace { // Anonymous namespace for class
struct PreVerifier : public FunctionPass {
static char ID; // Pass ID, replacement for typeid
struct PreVerifier : public FunctionPass {
static char ID; // Pass ID, replacement for typeid
- PreVerifier() : FunctionPass(ID) { }
+ PreVerifier() : FunctionPass(
&
ID) { }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
@@
-104,7
+104,7
@@
namespace { // Anonymous namespace for class
char PreVerifier::ID = 0;
static RegisterPass<PreVerifier>
PreVer("preverify", "Preliminary module verification");
char PreVerifier::ID = 0;
static RegisterPass<PreVerifier>
PreVer("preverify", "Preliminary module verification");
-
char &PreVerifyID = PreVerifier::ID
;
+
static const PassInfo *const PreVerifyID = &PreVer
;
namespace {
class TypeSet : public AbstractTypeUser {
namespace {
class TypeSet : public AbstractTypeUser {
@@
-182,20
+182,20
@@
namespace {
SmallPtrSet<MDNode *, 32> MDNodes;
Verifier()
SmallPtrSet<MDNode *, 32> MDNodes;
Verifier()
- : FunctionPass(ID),
+ : FunctionPass(
&
ID),
Broken(false), RealPass(true), action(AbortProcessAction),
Mod(0), Context(0), DT(0), MessagesStr(Messages) {}
explicit Verifier(VerifierFailureAction ctn)
Broken(false), RealPass(true), action(AbortProcessAction),
Mod(0), Context(0), DT(0), MessagesStr(Messages) {}
explicit Verifier(VerifierFailureAction ctn)
- : FunctionPass(ID),
+ : FunctionPass(
&
ID),
Broken(false), RealPass(true), action(ctn), Mod(0), Context(0), DT(0),
MessagesStr(Messages) {}
explicit Verifier(bool AB)
Broken(false), RealPass(true), action(ctn), Mod(0), Context(0), DT(0),
MessagesStr(Messages) {}
explicit Verifier(bool AB)
- : FunctionPass(ID),
+ : FunctionPass(
&
ID),
Broken(false), RealPass(true),
action( AB ? AbortProcessAction : PrintMessageAction), Mod(0),
Context(0), DT(0), MessagesStr(Messages) {}
explicit Verifier(DominatorTree &dt)
Broken(false), RealPass(true),
action( AB ? AbortProcessAction : PrintMessageAction), Mod(0),
Context(0), DT(0), MessagesStr(Messages) {}
explicit Verifier(DominatorTree &dt)
- : FunctionPass(ID),
+ : FunctionPass(
&
ID),
Broken(false), RealPass(false), action(PrintMessageAction), Mod(0),
Context(0), DT(&dt), MessagesStr(Messages) {}
Broken(false), RealPass(false), action(PrintMessageAction), Mod(0),
Context(0), DT(&dt), MessagesStr(Messages) {}
diff --git
a/tools/bugpoint/ExtractFunction.cpp
b/tools/bugpoint/ExtractFunction.cpp
index bbdc728890db566e84d0d10d2747fbfe9bc9537b..6913fd06a938ee2122734d5d96c0a6e0d22fa81a 100644
(file)
--- a/
tools/bugpoint/ExtractFunction.cpp
+++ b/
tools/bugpoint/ExtractFunction.cpp
@@
-100,8
+100,7
@@
Module *BugDriver::deleteInstructionFromProgram(const Instruction *I,
}
static const PassInfo *getPI(Pass *P) {
}
static const PassInfo *getPI(Pass *P) {
- const void *ID = P->getPassID();
- const PassInfo *PI = PassRegistry::getPassRegistry()->getPassInfo(ID);
+ const PassInfo *PI = P->getPassInfo();
delete P;
return PI;
}
delete P;
return PI;
}
diff --git
a/tools/bugpoint/TestPasses.cpp
b/tools/bugpoint/TestPasses.cpp
index 4ae23f5b762428d4faada3663a74de58f940516f..900bf632a83bb1552d527469c1b3cb27bf8d6d39 100644
(file)
--- a/
tools/bugpoint/TestPasses.cpp
+++ b/
tools/bugpoint/TestPasses.cpp
@@
-27,7
+27,7
@@
namespace {
class CrashOnCalls : public BasicBlockPass {
public:
static char ID; // Pass ID, replacement for typeid
class CrashOnCalls : public BasicBlockPass {
public:
static char ID; // Pass ID, replacement for typeid
- CrashOnCalls() : BasicBlockPass(ID) {}
+ CrashOnCalls() : BasicBlockPass(
&
ID) {}
private:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
private:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
@@
-54,7
+54,7
@@
namespace {
class DeleteCalls : public BasicBlockPass {
public:
static char ID; // Pass ID, replacement for typeid
class DeleteCalls : public BasicBlockPass {
public:
static char ID; // Pass ID, replacement for typeid
- DeleteCalls() : BasicBlockPass(ID) {}
+ DeleteCalls() : BasicBlockPass(
&
ID) {}
private:
bool runOnBasicBlock(BasicBlock &BB) {
for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ++I)
private:
bool runOnBasicBlock(BasicBlock &BB) {
for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ++I)
diff --git
a/tools/bugpoint/bugpoint.cpp
b/tools/bugpoint/bugpoint.cpp
index b4bc455db122ac1c13df59ad1547d92bcef49b29..ba5234bdc89d52f7659eddef22ce4db3d696ed8c 100644
(file)
--- a/
tools/bugpoint/bugpoint.cpp
+++ b/
tools/bugpoint/bugpoint.cpp
@@
-90,8
+90,7
@@
namespace {
AddToDriver(BugDriver &_D) : D(_D) {}
virtual void add(Pass *P) {
AddToDriver(BugDriver &_D) : D(_D) {}
virtual void add(Pass *P) {
- const void *ID = P->getPassID();
- const PassInfo *PI = PassRegistry::getPassRegistry()->getPassInfo(ID);
+ const PassInfo *PI = P->getPassInfo();
D.addPasses(&PI, &PI + 1);
}
};
D.addPasses(&PI, &PI + 1);
}
};
diff --git
a/tools/llvm-prof/llvm-prof.cpp
b/tools/llvm-prof/llvm-prof.cpp
index 0c6c4d7bb7826a4f9e657248252a192f342b15d5..88adeb43e6de35390d500cef99c5e8d58786a563 100644
(file)
--- a/
tools/llvm-prof/llvm-prof.cpp
+++ b/
tools/llvm-prof/llvm-prof.cpp
@@
-128,7
+128,7
@@
namespace {
public:
static char ID; // Class identification, replacement for typeinfo.
explicit ProfileInfoPrinterPass(ProfileInfoLoader &_PIL)
public:
static char ID; // Class identification, replacement for typeinfo.
explicit ProfileInfoPrinterPass(ProfileInfoLoader &_PIL)
- : ModulePass(ID), PIL(_PIL) {}
+ : ModulePass(
&
ID), PIL(_PIL) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/tools/opt/AnalysisWrappers.cpp
b/tools/opt/AnalysisWrappers.cpp
index 2fe5d226ec761658ac2e5aeda4805166eeab5c41..a4891d8d767c1689211c1c6c1aafe7b2c9854a82 100644
(file)
--- a/
tools/opt/AnalysisWrappers.cpp
+++ b/
tools/opt/AnalysisWrappers.cpp
@@
-31,7
+31,7
@@
namespace {
/// or handle in alias analyses.
struct ExternalFunctionsPassedConstants : public ModulePass {
static char ID; // Pass ID, replacement for typeid
/// or handle in alias analyses.
struct ExternalFunctionsPassedConstants : public ModulePass {
static char ID; // Pass ID, replacement for typeid
- ExternalFunctionsPassedConstants() : ModulePass(ID) {}
+ ExternalFunctionsPassedConstants() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) {
if (!I->isDeclaration()) continue;
virtual bool runOnModule(Module &M) {
for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I) {
if (!I->isDeclaration()) continue;
@@
-74,7
+74,7
@@
namespace {
struct CallGraphPrinter : public ModulePass {
static char ID; // Pass ID, replacement for typeid
struct CallGraphPrinter : public ModulePass {
static char ID; // Pass ID, replacement for typeid
- CallGraphPrinter() : ModulePass(ID) {}
+ CallGraphPrinter() : ModulePass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/tools/opt/GraphPrinters.cpp
b/tools/opt/GraphPrinters.cpp
index fa4339a0554e6eeca5b026d7dc8a3de59acb81d8..e7c6d1e6af8579fadf56656d1a860ccddd838d16 100644
(file)
--- a/
tools/opt/GraphPrinters.cpp
+++ b/
tools/opt/GraphPrinters.cpp
@@
-65,7
+65,7
@@
namespace llvm {
namespace {
struct CallGraphPrinter : public ModulePass {
static char ID; // Pass ID, replacement for typeid
namespace {
struct CallGraphPrinter : public ModulePass {
static char ID; // Pass ID, replacement for typeid
- CallGraphPrinter() : ModulePass(ID) {}
+ CallGraphPrinter() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
WriteGraphToFile(llvm::errs(), "callgraph", &getAnalysis<CallGraph>());
virtual bool runOnModule(Module &M) {
WriteGraphToFile(llvm::errs(), "callgraph", &getAnalysis<CallGraph>());
@@
-93,7
+93,7
@@
namespace {
class DomInfoPrinter : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
class DomInfoPrinter : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
- DomInfoPrinter() : FunctionPass(ID) {}
+ DomInfoPrinter() : FunctionPass(
&
ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
diff --git
a/tools/opt/PrintSCC.cpp
b/tools/opt/PrintSCC.cpp
index 067c2038f76a90bc57fba12617b34559545517da..ea486ca2900057c5490e9965900b78da6b849040 100644
(file)
--- a/
tools/opt/PrintSCC.cpp
+++ b/
tools/opt/PrintSCC.cpp
@@
-36,7
+36,7
@@
using namespace llvm;
namespace {
struct CFGSCC : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
namespace {
struct CFGSCC : public FunctionPass {
static char ID; // Pass identification, replacement for typeid
- CFGSCC() : FunctionPass(ID) {}
+ CFGSCC() : FunctionPass(
&
ID) {}
bool runOnFunction(Function& func);
void print(raw_ostream &O, const Module* = 0) const { }
bool runOnFunction(Function& func);
void print(raw_ostream &O, const Module* = 0) const { }
@@
-48,7
+48,7
@@
namespace {
struct CallGraphSCC : public ModulePass {
static char ID; // Pass identification, replacement for typeid
struct CallGraphSCC : public ModulePass {
static char ID; // Pass identification, replacement for typeid
- CallGraphSCC() : ModulePass(ID) {}
+ CallGraphSCC() : ModulePass(
&
ID) {}
// run - Print out SCCs in the call graph for the specified module.
bool runOnModule(Module &M);
// run - Print out SCCs in the call graph for the specified module.
bool runOnModule(Module &M);
diff --git
a/tools/opt/opt.cpp
b/tools/opt/opt.cpp
index f6b829fde935366d0fe0662aa698cb5379ffe515..0878737d34bc5068fd51f53b7a50fb38eb6183f9 100644
(file)
--- a/
tools/opt/opt.cpp
+++ b/
tools/opt/opt.cpp
@@
-139,7
+139,7
@@
struct CallGraphSCCPassPrinter : public CallGraphSCCPass {
static char ID;
const PassInfo *PassToPrint;
CallGraphSCCPassPrinter(const PassInfo *PI) :
static char ID;
const PassInfo *PassToPrint;
CallGraphSCCPassPrinter(const PassInfo *PI) :
- CallGraphSCCPass(ID), PassToPrint(PI) {}
+ CallGraphSCCPass(
&
ID), PassToPrint(PI) {}
virtual bool runOnSCC(CallGraphSCC &SCC) {
if (!Quiet) {
virtual bool runOnSCC(CallGraphSCC &SCC) {
if (!Quiet) {
@@
-148,8
+148,7
@@
struct CallGraphSCCPassPrinter : public CallGraphSCCPass {
for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
Function *F = (*I)->getFunction();
if (F)
for (CallGraphSCC::iterator I = SCC.begin(), E = SCC.end(); I != E; ++I) {
Function *F = (*I)->getFunction();
if (F)
- getAnalysisID<Pass>(PassToPrint->getTypeInfo()).print(outs(),
- F->getParent());
+ getAnalysisID<Pass>(PassToPrint).print(outs(), F->getParent());
}
}
// Get and print pass...
}
}
// Get and print pass...
@@
-159,7
+158,7
@@
struct CallGraphSCCPassPrinter : public CallGraphSCCPass {
virtual const char *getPassName() const { return "'Pass' Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
virtual const char *getPassName() const { return "'Pass' Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequiredID(PassToPrint
->getTypeInfo()
);
+ AU.addRequiredID(PassToPrint);
AU.setPreservesAll();
}
};
AU.setPreservesAll();
}
};
@@
-169,13
+168,13
@@
char CallGraphSCCPassPrinter::ID = 0;
struct ModulePassPrinter : public ModulePass {
static char ID;
const PassInfo *PassToPrint;
struct ModulePassPrinter : public ModulePass {
static char ID;
const PassInfo *PassToPrint;
- ModulePassPrinter(const PassInfo *PI) : ModulePass(ID),
+ ModulePassPrinter(const PassInfo *PI) : ModulePass(
&
ID),
PassToPrint(PI) {}
virtual bool runOnModule(Module &M) {
if (!Quiet) {
outs() << "Printing analysis '" << PassToPrint->getPassName() << "':\n";
PassToPrint(PI) {}
virtual bool runOnModule(Module &M) {
if (!Quiet) {
outs() << "Printing analysis '" << PassToPrint->getPassName() << "':\n";
- getAnalysisID<Pass>(PassToPrint
->getTypeInfo()
).print(outs(), &M);
+ getAnalysisID<Pass>(PassToPrint).print(outs(), &M);
}
// Get and print pass...
}
// Get and print pass...
@@
-185,7
+184,7
@@
struct ModulePassPrinter : public ModulePass {
virtual const char *getPassName() const { return "'Pass' Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
virtual const char *getPassName() const { return "'Pass' Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequiredID(PassToPrint
->getTypeInfo()
);
+ AU.addRequiredID(PassToPrint);
AU.setPreservesAll();
}
};
AU.setPreservesAll();
}
};
@@
-194,7
+193,7
@@
char ModulePassPrinter::ID = 0;
struct FunctionPassPrinter : public FunctionPass {
const PassInfo *PassToPrint;
static char ID;
struct FunctionPassPrinter : public FunctionPass {
const PassInfo *PassToPrint;
static char ID;
- FunctionPassPrinter(const PassInfo *PI) : FunctionPass(ID),
+ FunctionPassPrinter(const PassInfo *PI) : FunctionPass(
&
ID),
PassToPrint(PI) {}
virtual bool runOnFunction(Function &F) {
PassToPrint(PI) {}
virtual bool runOnFunction(Function &F) {
@@
-203,15
+202,14
@@
struct FunctionPassPrinter : public FunctionPass {
<< "' for function '" << F.getName() << "':\n";
}
// Get and print pass...
<< "' for function '" << F.getName() << "':\n";
}
// Get and print pass...
- getAnalysisID<Pass>(PassToPrint->getTypeInfo()).print(outs(),
- F.getParent());
+ getAnalysisID<Pass>(PassToPrint).print(outs(), F.getParent());
return false;
}
virtual const char *getPassName() const { return "FunctionPass Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
return false;
}
virtual const char *getPassName() const { return "FunctionPass Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequiredID(PassToPrint
->getTypeInfo()
);
+ AU.addRequiredID(PassToPrint);
AU.setPreservesAll();
}
};
AU.setPreservesAll();
}
};
@@
-222,12
+220,12
@@
struct LoopPassPrinter : public LoopPass {
static char ID;
const PassInfo *PassToPrint;
LoopPassPrinter(const PassInfo *PI) :
static char ID;
const PassInfo *PassToPrint;
LoopPassPrinter(const PassInfo *PI) :
- LoopPass(ID), PassToPrint(PI) {}
+ LoopPass(
&
ID), PassToPrint(PI) {}
virtual bool runOnLoop(Loop *L, LPPassManager &LPM) {
if (!Quiet) {
outs() << "Printing analysis '" << PassToPrint->getPassName() << "':\n";
virtual bool runOnLoop(Loop *L, LPPassManager &LPM) {
if (!Quiet) {
outs() << "Printing analysis '" << PassToPrint->getPassName() << "':\n";
- getAnalysisID<Pass>(PassToPrint
->getTypeInfo()
).print(outs(),
+ getAnalysisID<Pass>(PassToPrint).print(outs(),
L->getHeader()->getParent()->getParent());
}
// Get and print pass...
L->getHeader()->getParent()->getParent());
}
// Get and print pass...
@@
-237,7
+235,7
@@
struct LoopPassPrinter : public LoopPass {
virtual const char *getPassName() const { return "'Pass' Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
virtual const char *getPassName() const { return "'Pass' Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequiredID(PassToPrint
->getTypeInfo()
);
+ AU.addRequiredID(PassToPrint);
AU.setPreservesAll();
}
};
AU.setPreservesAll();
}
};
@@
-248,7
+246,7
@@
struct BasicBlockPassPrinter : public BasicBlockPass {
const PassInfo *PassToPrint;
static char ID;
BasicBlockPassPrinter(const PassInfo *PI)
const PassInfo *PassToPrint;
static char ID;
BasicBlockPassPrinter(const PassInfo *PI)
- : BasicBlockPass(ID), PassToPrint(PI) {}
+ : BasicBlockPass(
&
ID), PassToPrint(PI) {}
virtual bool runOnBasicBlock(BasicBlock &BB) {
if (!Quiet) {
virtual bool runOnBasicBlock(BasicBlock &BB) {
if (!Quiet) {
@@
-257,15
+255,14
@@
struct BasicBlockPassPrinter : public BasicBlockPass {
}
// Get and print pass...
}
// Get and print pass...
- getAnalysisID<Pass>(PassToPrint->getTypeInfo()).print(outs(),
- BB.getParent()->getParent());
+ getAnalysisID<Pass>(PassToPrint).print(outs(), BB.getParent()->getParent());
return false;
}
virtual const char *getPassName() const { return "BasicBlockPass Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
return false;
}
virtual const char *getPassName() const { return "BasicBlockPass Printer"; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequiredID(PassToPrint
->getTypeInfo()
);
+ AU.addRequiredID(PassToPrint);
AU.setPreservesAll();
}
};
AU.setPreservesAll();
}
};
diff --git
a/unittests/VMCore/PassManagerTest.cpp
b/unittests/VMCore/PassManagerTest.cpp
index 96ee5b45896060d4b8abd7ecf26898907d2702f6..cabfc44602cf00a95b34a77dffd143f9d1994bf7 100644
(file)
--- a/
unittests/VMCore/PassManagerTest.cpp
+++ b/
unittests/VMCore/PassManagerTest.cpp
@@
-40,7
+40,7
@@
namespace llvm {
public:
static char run;
static char ID;
public:
static char run;
static char ID;
- ModuleNDNM() : ModulePass(ID) {}
+ ModuleNDNM() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
run++;
return false;
virtual bool runOnModule(Module &M) {
run++;
return false;
@@
-56,7
+56,7
@@
namespace llvm {
public:
static char run;
static char ID;
public:
static char run;
static char ID;
- ModuleNDM() : ModulePass(ID) {}
+ ModuleNDM() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
run++;
return true;
virtual bool runOnModule(Module &M) {
run++;
return true;
@@
-70,7
+70,7
@@
namespace llvm {
public:
static char run;
static char ID;
public:
static char run;
static char ID;
- ModuleNDM2() : ModulePass(ID) {}
+ ModuleNDM2() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
run++;
return true;
virtual bool runOnModule(Module &M) {
run++;
return true;
@@
-83,7
+83,7
@@
namespace llvm {
public:
static char run;
static char ID;
public:
static char run;
static char ID;
- ModuleDNM() : ModulePass(ID) {}
+ ModuleDNM() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
EXPECT_TRUE(getAnalysisIfAvailable<TargetData>());
run++;
virtual bool runOnModule(Module &M) {
EXPECT_TRUE(getAnalysisIfAvailable<TargetData>());
run++;
@@
-119,7
+119,7
@@
namespace llvm {
EXPECT_TRUE(finalized);
EXPECT_EQ(run, runc);
}
EXPECT_TRUE(finalized);
EXPECT_EQ(run, runc);
}
- PassTestBase() : P(ID), allocated(0) {
+ PassTestBase() : P(
&
ID), allocated(0) {
initialized = false;
finalized = false;
runc = 0;
initialized = false;
finalized = false;
runc = 0;
@@
-253,7
+253,7
@@
namespace llvm {
struct OnTheFlyTest: public ModulePass {
public:
static char ID;
struct OnTheFlyTest: public ModulePass {
public:
static char ID;
- OnTheFlyTest() : ModulePass(ID) {}
+ OnTheFlyTest() : ModulePass(
&
ID) {}
virtual bool runOnModule(Module &M) {
EXPECT_TRUE(getAnalysisIfAvailable<TargetData>());
for (Module::iterator I=M.begin(),E=M.end(); I != E; ++I) {
virtual bool runOnModule(Module &M) {
EXPECT_TRUE(getAnalysisIfAvailable<TargetData>());
for (Module::iterator I=M.begin(),E=M.end(); I != E; ++I) {