Reapply r110396, with fixes to appease the Linux buildbot gods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2010-08-06 18:33:48 +00:00
parent e26a7b5e21
commit 90c579de5a
213 changed files with 496 additions and 490 deletions

View File

@@ -30,8 +30,8 @@ namespace llvm {
/// perform the inlining operations that do not depend on the policy.
///
struct Inliner : public CallGraphSCCPass {
explicit Inliner(void *ID);
explicit Inliner(void *ID, int Threshold);
explicit Inliner(char &ID);
explicit Inliner(char &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

View File

@@ -149,7 +149,7 @@ Pass *createLoopIndexSplitPass();
// ret i32 %Y
//
FunctionPass *createPromoteMemoryToRegisterPass();
extern const PassInfo *const PromoteMemoryToRegisterID;
extern char &PromoteMemoryToRegisterID;
//===----------------------------------------------------------------------===//
//
@@ -158,7 +158,7 @@ extern const PassInfo *const PromoteMemoryToRegisterID;
// hacking easier.
//
FunctionPass *createDemoteRegisterToMemoryPass();
extern const PassInfo *const DemoteRegisterToMemoryID;
extern char &DemoteRegisterToMemoryID;
//===----------------------------------------------------------------------===//
//
@@ -202,7 +202,7 @@ FunctionPass *createCFGSimplificationPass();
// (set, immediate dominators, tree, and frontier) information.
//
FunctionPass *createBreakCriticalEdgesPass();
extern const PassInfo *const BreakCriticalEdgesID;
extern char &BreakCriticalEdgesID;
//===----------------------------------------------------------------------===//
//
@@ -213,7 +213,7 @@ extern const PassInfo *const BreakCriticalEdgesID;
// AU.addRequiredID(LoopSimplifyID);
//
Pass *createLoopSimplifyPass();
extern const PassInfo *const LoopSimplifyID;
extern char &LoopSimplifyID;
//===----------------------------------------------------------------------===//
//
@@ -228,7 +228,7 @@ FunctionPass *createTailCallEliminationPass();
// chained binary branch instructions.
//
FunctionPass *createLowerSwitchPass();
extern const PassInfo *const LowerSwitchID;
extern char &LowerSwitchID;
//===----------------------------------------------------------------------===//
//
@@ -243,7 +243,7 @@ extern const PassInfo *const LowerSwitchID;
FunctionPass *createLowerInvokePass(const TargetLowering *TLI = 0);
FunctionPass *createLowerInvokePass(const TargetLowering *TLI,
bool useExpensiveEHSupport);
extern const PassInfo *const LowerInvokePassID;
extern char &LowerInvokePassID;
//===----------------------------------------------------------------------===//
//
@@ -258,7 +258,7 @@ FunctionPass *createBlockPlacementPass();
// optimizations.
//
Pass *createLCSSAPass();
extern const PassInfo *const LCSSAID;
extern char &LCSSAID;
//===----------------------------------------------------------------------===//
//
@@ -304,7 +304,7 @@ FunctionPass *createCodeGenPreparePass(const TargetLowering *TLI = 0);
// InstructionNamer - Give any unnamed non-void instructions "tmp" names.
//
FunctionPass *createInstructionNamerPass();
extern const PassInfo *const InstructionNamerID;
extern char &InstructionNamerID;
//===----------------------------------------------------------------------===//
//

View File

@@ -39,7 +39,7 @@ namespace llvm {
public:
static char ID; // Pass identification, replacement for typeid.
SSI() :
FunctionPass(&ID) {
FunctionPass(ID) {
}
void getAnalysisUsage(AnalysisUsage &AU) const;

View File

@@ -26,7 +26,7 @@ struct UnifyFunctionExitNodes : public FunctionPass {
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