llvm.org GIT mirror llvm / ecd94c8
Fix typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8 Nick Lewycky 13 years ago
70 changed file(s) with 76 addition(s) and 76 deletion(s). Raw diff Collapse all Expand all
398398
399399 class ETForest : public ETForestBase {
400400 public:
401 static char ID; // Pass identifcation, replacement for typeid
401 static char ID; // Pass identification, replacement for typeid
402402
403403 ETForest() : ETForestBase((intptr_t)&ID, false) {}
404404
2323 class FindUsedTypes : public ModulePass {
2424 std::set UsedTypes;
2525 public:
26 static char ID; // Pass identifcation, replacement for typeid
26 static char ID; // Pass identification, replacement for typeid
2727 FindUsedTypes() : ModulePass((intptr_t)&ID) {}
2828
2929 /// getTypes - After the pass has been run, return the set containing all of
4444 std::vector Intervals;
4545
4646 public:
47 static char ID; // Pass identifcation, replacement for typeid
47 static char ID; // Pass identification, replacement for typeid
4848
4949 IntervalPartition() : FunctionPass((intptr_t)&ID), RootInterval(0) {}
5050
240240 std::vector TopLevelLoops;
241241 friend class Loop;
242242 public:
243 static char ID; // Pass identifcation, replacement for typeid
243 static char ID; // Pass identification, replacement for typeid
244244
245245 LoopInfo() : FunctionPass((intptr_t)&ID) {}
246246 ~LoopInfo() { releaseMemory(); }
2121 /// compute the a post-dominator tree.
2222 ///
2323 struct PostDominatorTree : public DominatorTreeBase {
24 static char ID; // Pass identifcation, replacement for typeid
24 static char ID; // Pass identification, replacement for typeid
2525
2626 PostDominatorTree() :
2727 DominatorTreeBase((intptr_t)&ID, true) {}
196196 class ScalarEvolution : public FunctionPass {
197197 void *Impl; // ScalarEvolution uses the pimpl pattern
198198 public:
199 static char ID; // Pass identifcation, replacement for typeid
199 static char ID; // Pass identification, replacement for typeid
200200 ScalarEvolution() : FunctionPass((intptr_t)&ID), Impl(0) {}
201201
202202 /// getSCEV - Return a SCEV expression handle for the full generality of the
2525 bool DeleteStream;
2626 bool CompressFile;
2727 public:
28 static char ID; // Pass identifcation, replacement for typeid
28 static char ID; // Pass identification, replacement for typeid
2929 WriteBytecodePass()
3030 : ModulePass((intptr_t) &ID), Out(&cout), DeleteStream(false),
3131 CompressFile(false) {}
6464 BitVector JoinedLIs;
6565
6666 public:
67 static char ID; // Pass identifcation, replacement for typeid
67 static char ID; // Pass identification, replacement for typeid
6868 LiveIntervals() : MachineFunctionPass((intptr_t)&ID) {}
6969
7070 struct CopyRec {
3939
4040 class LiveVariables : public MachineFunctionPass {
4141 public:
42 static char ID; // Pass identifcation, replacement for typeid
42 static char ID; // Pass identification, replacement for typeid
4343 LiveVariables() : MachineFunctionPass((intptr_t)&ID) {}
4444
4545 /// VarInfo - This represents the regions where a virtual register is live in
10211021 std::vector TypeInfos;
10221022
10231023 public:
1024 static char ID; // Pass identifcation, replacement for typeid
1024 static char ID; // Pass identification, replacement for typeid
10251025
10261026 MachineModuleInfo();
10271027 ~MachineModuleInfo();
201201 /// requested alignment (if the global has one).
202202 unsigned getPreferredAlignmentLog(const GlobalVariable *GV) const;
203203
204 static char ID; // Pass identifcation, replacement for typeid
204 static char ID; // Pass identification, replacement for typeid
205205 };
206206
207207 /// StructLayout - used to lazily calculate structure layout information for a
2424 struct UnifyFunctionExitNodes : public FunctionPass {
2525 BasicBlock *ReturnBlock, *UnwindBlock, *UnreachableBlock;
2626 public:
27 static char ID; // Pass identifcation, replacement for typeid
27 static char ID; // Pass identification, replacement for typeid
2828 UnifyFunctionExitNodes() : FunctionPass((intptr_t)&ID),
2929 ReturnBlock(0), UnwindBlock(0) {}
3030
4949 unsigned NoModRef, Mod, Ref, ModRef;
5050
5151 public:
52 static char ID; // Pass identifcation, replacement for typeid
52 static char ID; // Pass identification, replacement for typeid
5353 AAEval() : FunctionPass((intptr_t)&ID) {}
5454
5555 virtual void getAnalysisUsage(AnalysisUsage &AU) const {
554554 class VISIBILITY_HIDDEN AliasSetPrinter : public FunctionPass {
555555 AliasSetTracker *Tracker;
556556 public:
557 static char ID; // Pass identifcation, replacement for typeid
557 static char ID; // Pass identification, replacement for typeid
558558 AliasSetPrinter() : FunctionPass((intptr_t)&ID) {}
559559
560560 virtual void getAnalysisUsage(AnalysisUsage &AU) const {
9090
9191 namespace {
9292 struct VISIBILITY_HIDDEN CFGPrinter : public FunctionPass {
93 static char ID; // Pass identifcation, replacement for typeid
93 static char ID; // Pass identification, replacement for typeid
9494 CFGPrinter() : FunctionPass((intptr_t)&ID) {}
9595
9696 virtual bool runOnFunction(Function &F) {
118118 "Print CFG of function to 'dot' file");
119119
120120 struct VISIBILITY_HIDDEN CFGOnlyPrinter : public CFGPrinter {
121 static char ID; // Pass identifcation, replacement for typeid
121 static char ID; // Pass identification, replacement for typeid
122122 virtual bool runOnFunction(Function &F) {
123123 bool OldCFGOnly = CFGOnly;
124124 CFGOnly = true;
8484 std::vector Pointees;
8585 Value *Val;
8686 public:
87 static const unsigned ID; // Pass identifcation, replacement for typeid
87 static const unsigned ID; // Pass identification, replacement for typeid
8888 Node() : Val(0) {}
8989 Node *setValue(Value *V) {
9090 assert(Val == 0 && "Value already set for this node!");
5050 abort();
5151 }
5252 public:
53 static char ID; // Pass identifcation, replacement for typeid
53 static char ID; // Pass identification, replacement for typeid
5454 InstCount() : FunctionPass((intptr_t)&ID) {}
5555
5656 virtual bool runOnFunction(Function &F);
3232
3333 namespace {
3434 struct VISIBILITY_HIDDEN PNE : public MachineFunctionPass {
35 static char ID; // Pass identifcation, replacement for typeid
35 static char ID; // Pass identification, replacement for typeid
3636 PNE() : MachineFunctionPass((intptr_t)&ID) {}
3737
3838 bool runOnMachineFunction(MachineFunction &Fn) {
4949 namespace {
5050 struct VISIBILITY_HIDDEN TwoAddressInstructionPass
5151 : public MachineFunctionPass {
52 static char ID; // Pass identifcation, replacement for typeid
52 static char ID; // Pass identification, replacement for typeid
5353 TwoAddressInstructionPass() : MachineFunctionPass((intptr_t)&ID) {}
5454
5555 virtual void getAnalysisUsage(AnalysisUsage &AU) const;
3434 class VISIBILITY_HIDDEN UnreachableBlockElim : public FunctionPass {
3535 virtual bool runOnFunction(Function &F);
3636 public:
37 static char ID; // Pass identifcation, replacement for typeid
37 static char ID; // Pass identification, replacement for typeid
3838 UnreachableBlockElim() : FunctionPass((intptr_t)&ID) {}
3939 };
4040 char UnreachableBlockElim::ID = 0;
2424 namespace {
2525 // Hello - The first implementation, without getAnalysisUsage.
2626 struct Hello : public FunctionPass {
27 static char ID; // Pass identifcation, replacement for typeid
27 static char ID; // Pass identification, replacement for typeid
2828 Hello() : FunctionPass((intptr_t)&ID) {}
2929
3030 virtual bool runOnFunction(Function &F) {
4141
4242 // Hello2 - The second implementation with getAnalysisUsage implemented.
4343 struct Hello2 : public FunctionPass {
44 static char ID; // Pass identifcation, replacement for typeid
44 static char ID; // Pass identification, replacement for typeid
4545 Hello2() : FunctionPass((intptr_t)&ID) {}
4646
4747 virtual bool runOnFunction(Function &F) {
6262 }
6363
6464 virtual bool runOnSCC(const std::vector &SCC);
65 static char ID; // Pass identifcation, replacement for typeid
65 static char ID; // Pass identification, replacement for typeid
6666 ArgPromotion() : CallGraphSCCPass((intptr_t)&ID) {}
6767
6868 private:
2828
2929 namespace {
3030 struct VISIBILITY_HIDDEN ConstantMerge : public ModulePass {
31 static char ID; // Pass identifcation, replacement for typeid
31 static char ID; // Pass identification, replacement for typeid
3232 ConstantMerge() : ModulePass((intptr_t)&ID) {}
3333
3434 // run - For this pass, process all of the globals in the module,
7575 std::multimap CallSites;
7676
7777 public:
78 static char ID; // Pass identifcation, replacement for typeid
78 static char ID; // Pass identification, replacement for typeid
7979 DAE() : ModulePass((intptr_t)&ID) {}
8080 bool runOnModule(Module &M);
8181
2525
2626 namespace {
2727 struct VISIBILITY_HIDDEN DTE : public ModulePass {
28 static char ID; // Pass identifcation, replacement for typeid
28 static char ID; // Pass identification, replacement for typeid
2929 DTE() : ModulePass((intptr_t)&ID) {}
3030
3131 // doPassInitialization - For this pass, it removes global symbol table
2424 bool deleteFunc;
2525 bool reLink;
2626 public:
27 static char ID; // Pass identifcation, replacement for typeid
27 static char ID; // Pass identification, replacement for typeid
2828
2929 /// FunctionExtractorPass - If deleteFn is true, this pass deletes as the
3030 /// specified function. Otherwise, it deletes as much of the module as
2929
3030 namespace {
3131 struct VISIBILITY_HIDDEN GlobalDCE : public ModulePass {
32 static char ID; // Pass identifcation, replacement for typeid
32 static char ID; // Pass identification, replacement for typeid
3333 GlobalDCE() : ModulePass((intptr_t)&ID) {}
3434
3535 // run - Do the GlobalDCE pass on the specified module, optionally updating
4949 virtual void getAnalysisUsage(AnalysisUsage &AU) const {
5050 AU.addRequired();
5151 }
52 static char ID; // Pass identifcation, replacement for typeid
52 static char ID; // Pass identification, replacement for typeid
5353 GlobalOpt() : ModulePass((intptr_t)&ID) {}
5454
5555 bool runOnModule(Module &M);
3232 /// IPCP - The interprocedural constant propagation pass
3333 ///
3434 struct VISIBILITY_HIDDEN IPCP : public ModulePass {
35 static char ID; // Pass identifcation, replacement for typeid
35 static char ID; // Pass identification, replacement for typeid
3636 IPCP() : ModulePass((intptr_t)&ID) {}
3737
3838 bool runOnModule(Module &M);
3131 namespace {
3232 class VISIBILITY_HIDDEN IndMemRemPass : public ModulePass {
3333 public:
34 static char ID; // Pass identifcation, replacement for typeid
34 static char ID; // Pass identification, replacement for typeid
3535 IndMemRemPass() : ModulePass((intptr_t)&ID) {}
3636
3737 virtual bool runOnModule(Module &M);
5353 class VISIBILITY_HIDDEN SimpleInliner : public Inliner {
5454 std::map CachedFunctionInfo;
5555 public:
56 static char ID; // Pass identifcation, replacement for typeid
56 static char ID; // Pass identification, replacement for typeid
5757 int getInlineCost(CallSite CS);
5858 };
5959 char SimpleInliner::ID = 0;
4545 std::set ExternalNames;
4646 bool DontInternalize;
4747 public:
48 static char ID; // Pass identifcation, replacement for typeid
48 static char ID; // Pass identification, replacement for typeid
4949 InternalizePass(bool InternalizeEverything = true);
5050 InternalizePass(const std::vector & exportList);
5151 void LoadFile(const char *Filename);
3333 // Module passes to require FunctionPasses, so we can't get loop info if we're
3434 // not a function pass.
3535 struct VISIBILITY_HIDDEN LoopExtractor : public FunctionPass {
36 static char ID; // Pass identifcation, replacement for typeid
36 static char ID; // Pass identification, replacement for typeid
3737 unsigned NumLoops;
3838
3939 LoopExtractor(unsigned numLoops = ~0)
5656
5757 /// SingleLoopExtractor - For bugpoint.
5858 struct SingleLoopExtractor : public LoopExtractor {
59 static char ID; // Pass identifcation, replacement for typeid
59 static char ID; // Pass identification, replacement for typeid
6060 SingleLoopExtractor() : LoopExtractor(1) {}
6161 };
6262
151151 class BlockExtractorPass : public ModulePass {
152152 std::vector BlocksToNotExtract;
153153 public:
154 static char ID; // Pass identifcation, replacement for typeid
154 static char ID; // Pass identification, replacement for typeid
155155 BlockExtractorPass(std::vector &B)
156156 : ModulePass((intptr_t)&ID), BlocksToNotExtract(B) {}
157157 BlockExtractorPass() : ModulePass((intptr_t)&ID) {}
108108
109109 bool IsTransformableFunction(const std::string& Name);
110110 public:
111 static char ID; // Pass identifcation, replacement for typeid
111 static char ID; // Pass identification, replacement for typeid
112112 LowerSetJmp() : ModulePass((intptr_t)&ID) {}
113113
114114 void visitCallInst(CallInst& CI);
3434
3535 namespace {
3636 struct VISIBILITY_HIDDEN PruneEH : public CallGraphSCCPass {
37 static char ID; // Pass identifcation, replacement for typeid
37 static char ID; // Pass identification, replacement for typeid
3838 PruneEH() : CallGraphSCCPass((intptr_t)&ID) {}
3939
4040 /// DoesNotUnwind - This set contains all of the functions which we have
3434 Function *MallocFunc; // Functions in the module we are processing
3535 Function *FreeFunc; // Initialized by doPassInitializationVirt
3636 public:
37 static char ID; // Pass identifcation, replacement for typeid
37 static char ID; // Pass identification, replacement for typeid
3838 RaiseAllocations()
3939 : ModulePass((intptr_t)&ID), MallocFunc(0), FreeFunc(0) {}
4040
151151 /// @brief A ModulePass for optimizing well-known function calls.
152152 class VISIBILITY_HIDDEN SimplifyLibCalls : public ModulePass {
153153 public:
154 static char ID; // Pass identifcation, replacement for typeid
154 static char ID; // Pass identification, replacement for typeid
155155 SimplifyLibCalls() : ModulePass((intptr_t)&ID) {}
156156
157157 /// We need some target data for accurate signature details that are
2626 /// @brief Pass to remove unused function declarations.
2727 class VISIBILITY_HIDDEN StripDeadPrototypesPass : public ModulePass {
2828 public:
29 static char ID; // Pass identifcation, replacement for typeid
29 static char ID; // Pass identification, replacement for typeid
3030 StripDeadPrototypesPass() : ModulePass((intptr_t)&ID) { }
3131 virtual bool runOnModule(Module &M);
3232 };
3636 class VISIBILITY_HIDDEN StripSymbols : public ModulePass {
3737 bool OnlyDebugInfo;
3838 public:
39 static char ID; // Pass identifcation, replacement for typeid
39 static char ID; // Pass identification, replacement for typeid
4040 StripSymbols(bool ODI = false)
4141 : ModulePass((intptr_t)&ID), OnlyDebugInfo(ODI) {}
4242
3232 class VISIBILITY_HIDDEN EdgeProfiler : public ModulePass {
3333 bool runOnModule(Module &M);
3434 public:
35 static char ID; // Pass identifcation, replacement for typeid
35 static char ID; // Pass identification, replacement for typeid
3636 EdgeProfiler() : ModulePass((intptr_t)&ID) {}
3737 };
3838
6868 /// measuring framework overhead
6969 class VISIBILITY_HIDDEN NullProfilerRS : public RSProfilers {
7070 public:
71 static char ID; // Pass identifcation, replacement for typeid
71 static char ID; // Pass identification, replacement for typeid
7272 bool isProfiling(Value* v) {
7373 return false;
7474 }
138138
139139 /// ProfilerRS - Insert the random sampling framework
140140 struct VISIBILITY_HIDDEN ProfilerRS : public FunctionPass {
141 static char ID; // Pass identifcation, replacement for typeid
141 static char ID; // Pass identification, replacement for typeid
142142 ProfilerRS() : FunctionPass((intptr_t)&ID) {}
143143
144144 std::map TransCache;
5151 // The public interface for this class
5252 //
5353 public:
54 static char ID; // Pass identifcation, replacement for typeid
54 static char ID; // Pass identification, replacement for typeid
5555 ADCE() : FunctionPass((intptr_t)&ID) {}
5656
5757 // Execute the Aggressive Dead Code Elimination Algorithm
4040
4141 namespace {
4242 struct VISIBILITY_HIDDEN BlockPlacement : public FunctionPass {
43 static char ID; // Pass identifcation, replacement for typeid
43 static char ID; // Pass identification, replacement for typeid
4444 BlockPlacement() : FunctionPass((intptr_t)&ID) {}
4545
4646 virtual bool runOnFunction(Function &F);
3838 /// transformation profitability.
3939 const TargetLowering *TLI;
4040 public:
41 static char ID; // Pass identifcation, replacement for typeid
41 static char ID; // Pass identification, replacement for typeid
4242 CodeGenPrepare(const TargetLowering *tli = 0) : FunctionPass((intptr_t)&ID),
4343 TLI(tli) {}
4444 bool runOnFunction(Function &F);
3030
3131 namespace {
3232 struct VISIBILITY_HIDDEN CondProp : public FunctionPass {
33 static char ID; // Pass identifcation, replacement for typeid
33 static char ID; // Pass identification, replacement for typeid
3434 CondProp() : FunctionPass((intptr_t)&ID) {}
3535
3636 virtual bool runOnFunction(Function &F);
3333
3434 namespace {
3535 struct VISIBILITY_HIDDEN ConstantPropagation : public FunctionPass {
36 static char ID; // Pass identifcation, replacement for typeid
36 static char ID; // Pass identification, replacement for typeid
3737 ConstantPropagation() : FunctionPass((intptr_t)&ID) {}
3838
3939 bool runOnFunction(Function &F);
224224 std::map RegionInfoMap;
225225 ETForest *EF;
226226 public:
227 static char ID; // Pass identifcation, replacement for typeid
227 static char ID; // Pass identification, replacement for typeid
228228 CEE() : FunctionPass((intptr_t)&ID) {}
229229
230230 virtual bool runOnFunction(Function &F);
3434 // DeadInstElimination pass implementation
3535 //
3636 struct VISIBILITY_HIDDEN DeadInstElimination : public BasicBlockPass {
37 static char ID; // Pass identifcation, replacement for typeid
37 static char ID; // Pass identification, replacement for typeid
3838 DeadInstElimination() : BasicBlockPass(intptr_t(&ID)) {}
3939 virtual bool runOnBasicBlock(BasicBlock &BB) {
4040 bool Changed = false;
6666 // DeadCodeElimination pass implementation
6767 //
6868 struct DCE : public FunctionPass {
69 static char ID; // Pass identifcation, replacement for typeid
69 static char ID; // Pass identification, replacement for typeid
7070 DCE() : FunctionPass((intptr_t)&ID) {}
7171
7272 virtual bool runOnFunction(Function &F);
3333
3434 namespace {
3535 struct VISIBILITY_HIDDEN DSE : public FunctionPass {
36 static char ID; // Pass identifcation, replacement for typeid
36 static char ID; // Pass identification, replacement for typeid
3737 DSE() : FunctionPass((intptr_t)&ID) {}
3838
3939 virtual bool runOnFunction(Function &F) {
3636 "with constant values");
3737 namespace {
3838 struct VISIBILITY_HIDDEN GCSE : public FunctionPass {
39 static char ID; // Pass identifcation, replacement for typeid
39 static char ID; // Pass identification, replacement for typeid
4040 GCSE() : FunctionPass((intptr_t)&ID) {}
4141
4242 virtual bool runOnFunction(Function &F);
6868 bool Changed;
6969 public:
7070
71 static char ID; // Pass identifcation, replacement for typeid
71 static char ID; // Pass identification, replacement for typeid
7272 IndVarSimplify() : LoopPass((intptr_t)&ID) {}
7373
7474 bool runOnLoop(Loop *L, LPPassManager &LPM);
7575 TargetData *TD;
7676 bool MustPreserveLCSSA;
7777 public:
78 static char ID; // Pass identifcation, replacement for typeid
78 static char ID; // Pass identification, replacement for typeid
7979 InstCombiner() : FunctionPass((intptr_t)&ID) {}
8080
8181 /// AddToWorkList - Add the specified instruction to the worklist if it
6262 cl::desc("Disable memory promotion in LICM pass"));
6363
6464 struct VISIBILITY_HIDDEN LICM : public LoopPass {
65 static char ID; // Pass identifcation, replacement for typeid
65 static char ID; // Pass identification, replacement for typeid
6666 LICM() : LoopPass((intptr_t)&ID) {}
6767
6868 virtual bool runOnLoop(Loop *L, LPPassManager &LPM);
4646 /// had zero roots.
4747 const Type *MainRootRecordType;
4848 public:
49 static char ID; // Pass identifcation, replacement for typeid
49 static char ID; // Pass identification, replacement for typeid
5050 LowerGC() : FunctionPass((intptr_t)&ID),
5151 GCRootInt(0), GCReadInt(0), GCWriteInt(0),
5252 GCRead(0), GCWrite(0), RootChain(0), MainRootRecordType(0) {}
3939 class VISIBILITY_HIDDEN LowerPacked
4040 : public FunctionPass, public InstVisitor {
4141 public:
42 static char ID; // Pass identifcation, replacement for typeid
42 static char ID; // Pass identification, replacement for typeid
4343 LowerPacked() : FunctionPass((intptr_t)&ID) {}
4444
4545 /// @brief Lowers packed operations to scalar operations.
19881988 std::vector WorkList;
19891989
19901990 public:
1991 static char ID; // Pass identifcation, replacement for typeid
1991 static char ID; // Pass identification, replacement for typeid
19921992 PredicateSimplifier() : FunctionPass((intptr_t)&ID) {}
19931993
19941994 bool runOnFunction(Function &F);
6868 std::map ValueRankMap;
6969 bool MadeChange;
7070 public:
71 static char ID; // Pass identifcation, replacement for typeid
71 static char ID; // Pass identification, replacement for typeid
7272 Reassociate() : FunctionPass((intptr_t)&ID) {}
7373
7474 bool runOnFunction(Function &F);
3232
3333 namespace {
3434 struct VISIBILITY_HIDDEN RegToMem : public FunctionPass {
35 static char ID; // Pass identifcation, replacement for typeid
35 static char ID; // Pass identification, replacement for typeid
3636 RegToMem() : FunctionPass((intptr_t)&ID) {}
3737
3838 virtual void getAnalysisUsage(AnalysisUsage &AU) const {
13331333 /// Sparse Conditional Constant Propagator.
13341334 ///
13351335 struct VISIBILITY_HIDDEN SCCP : public FunctionPass {
1336 static char ID; // Pass identifcation, replacement for typeid
1336 static char ID; // Pass identification, replacement for typeid
13371337 SCCP() : FunctionPass((intptr_t)&ID) {}
13381338
13391339 // runOnFunction - Run the Sparse Conditional Constant Propagation
4646
4747 namespace {
4848 struct VISIBILITY_HIDDEN SROA : public FunctionPass {
49 static char ID; // Pass identifcation, replacement for typeid
49 static char ID; // Pass identification, replacement for typeid
5050 SROA() : FunctionPass((intptr_t)&ID) {}
5151
5252 bool runOnFunction(Function &F);
3434
3535 namespace {
3636 struct VISIBILITY_HIDDEN CFGSimplifyPass : public FunctionPass {
37 static char ID; // Pass identifcation, replacement for typeid
37 static char ID; // Pass identification, replacement for typeid
3838 CFGSimplifyPass() : FunctionPass((intptr_t)&ID) {}
3939
4040 virtual bool runOnFunction(Function &F);
4242 class VISIBILITY_HIDDEN TailDup : public FunctionPass {
4343 bool runOnFunction(Function &F);
4444 public:
45 static char ID; // Pass identifcation, replacement for typeid
45 static char ID; // Pass identification, replacement for typeid
4646 TailDup() : FunctionPass((intptr_t)&ID) {}
4747
4848 private:
6666
6767 namespace {
6868 struct VISIBILITY_HIDDEN TailCallElim : public FunctionPass {
69 static char ID; // Pass identifcation, replacement for typeid
69 static char ID; // Pass identification, replacement for typeid
7070 TailCallElim() : FunctionPass((intptr_t)&ID) {}
7171
7272 virtual bool runOnFunction(Function &F);
3333
3434 namespace {
3535 struct VISIBILITY_HIDDEN BreakCriticalEdges : public FunctionPass {
36 static char ID; // Pass identifcation, replacement for typeid
36 static char ID; // Pass identification, replacement for typeid
3737 BreakCriticalEdges() : FunctionPass((intptr_t)&ID) {}
3838
3939 virtual bool runOnFunction(Function &F);
4646
4747 namespace {
4848 struct VISIBILITY_HIDDEN LCSSA : public FunctionPass {
49 static char ID; // Pass identifcation, replacement for typeid
49 static char ID; // Pass identification, replacement for typeid
5050 LCSSA() : FunctionPass((intptr_t)&ID) {}
5151
5252 // Cached analysis information for the current function.
5353
5454 namespace {
5555 struct VISIBILITY_HIDDEN LoopSimplify : public FunctionPass {
56 static char ID; // Pass identifcation, replacement for typeid
56 static char ID; // Pass identification, replacement for typeid
5757 LoopSimplify() : FunctionPass((intptr_t)&ID) {}
5858
5959 // AA - If we have an alias analysis object to update, this is it, otherwise
7474 const TargetLowering *TLI;
7575
7676 public:
77 static char ID; // Pass identifcation, replacement for typeid
77 static char ID; // Pass identification, replacement for typeid
7878 LowerInvoke(const TargetLowering *tli = NULL) : FunctionPass((intptr_t)&ID),
7979 TLI(tli) { }
8080 bool doInitialization(Module &M);
3232 class VISIBILITY_HIDDEN LowerSelect : public FunctionPass {
3333 bool OnlyFP; // Only lower FP select instructions?
3434 public:
35 static char ID; // Pass identifcation, replacement for typeid
35 static char ID; // Pass identification, replacement for typeid
3636 LowerSelect(bool onlyfp = false) : FunctionPass((intptr_t)&ID),
3737 OnlyFP(onlyfp) {}
3838
2929 /// modifies the CFG!
3030 class VISIBILITY_HIDDEN LowerSwitch : public FunctionPass {
3131 public:
32 static char ID; // Pass identifcation, replacement for typeid
32 static char ID; // Pass identification, replacement for typeid
3333 LowerSwitch() : FunctionPass((intptr_t) &ID) {}
3434
3535 virtual bool runOnFunction(Function &F);
2626
2727 namespace {
2828 struct VISIBILITY_HIDDEN PromotePass : public FunctionPass {
29 static char ID; // Pass identifcation, replacement for typeid
29 static char ID; // Pass identification, replacement for typeid
3030 PromotePass() : FunctionPass((intptr_t)&ID) {}
3131
3232 // runOnFunction - To run this pass, first we calculate the alloca