diff --git a/include/llvm/Transforms/Scalar.h b/include/llvm/Transforms/Scalar.h index 502c5d34fa8..3ae134857da 100644 --- a/include/llvm/Transforms/Scalar.h +++ b/include/llvm/Transforms/Scalar.h @@ -163,6 +163,7 @@ FunctionPass *createLoopUnrollPass(); // ret int %Y // FunctionPass *createPromoteMemoryToRegisterPass(); +extern const PassInfo *PromoteMemoryToRegisterID; //===----------------------------------------------------------------------===// // @@ -239,6 +240,24 @@ extern const PassInfo *BreakCriticalEdgesID; FunctionPass *createLoopSimplifyPass(); extern const PassInfo *LoopSimplifyID; +//===----------------------------------------------------------------------===// +// This pass converts SelectInst instructions into conditional branch and PHI +// instructions. If the OnlyFP flag is set to true, then only floating point +// select instructions are lowered. +// +FunctionPass *createLowerSelectPass(bool OnlyFP = false); +extern const PassInfo *LowerSelectID; + +//===----------------------------------------------------------------------===// +// +// LowerAllocations Pass - Turn malloc and free instructions into %malloc and +// %free calls. +// +// AU.addRequiredID(LowerAllocationsID); +// +FunctionPass *createLowerAllocationsPass(bool LowerMallocArgToInteger = false); +extern const PassInfo *LowerAllocationsID; + //===----------------------------------------------------------------------===// // // This pass eliminates call instructions to the current function which occur @@ -246,25 +265,12 @@ extern const PassInfo *LoopSimplifyID; // FunctionPass *createTailCallEliminationPass(); - -//===----------------------------------------------------------------------===// -// This pass convert malloc and free instructions to %malloc & %free function -// calls. -// -FunctionPass *createLowerAllocationsPass(bool LowerMallocArgToInteger = false); - //===----------------------------------------------------------------------===// // This pass converts SwitchInst instructions into a sequence of chained binary // branch instructions. // FunctionPass *createLowerSwitchPass(); - -//===----------------------------------------------------------------------===// -// This pass converts SelectInst instructions into conditional branch and PHI -// instructions. If the OnlyFP flag is set to true, then only floating point -// select instructions are lowered. -// -FunctionPass *createLowerSelectPass(bool OnlyFP = false); +extern const PassInfo *LowerSwitchID; //===----------------------------------------------------------------------===// // This pass converts PackedType operations into low-level scalar operations. diff --git a/lib/Transforms/Utils/LowerAllocations.cpp b/lib/Transforms/Utils/LowerAllocations.cpp index f1721b3e587..0a6dc09147e 100644 --- a/lib/Transforms/Utils/LowerAllocations.cpp +++ b/lib/Transforms/Utils/LowerAllocations.cpp @@ -60,6 +60,8 @@ namespace { X("lowerallocs", "Lower allocations from instructions to calls"); } +// Publically exposed interface to pass... +const PassInfo *llvm::LowerAllocationsID = X.getPassInfo(); // createLowerAllocationsPass - Interface to this file... FunctionPass *llvm::createLowerAllocationsPass(bool LowerMallocArgToInteger) { return new LowerAllocations(LowerMallocArgToInteger); diff --git a/lib/Transforms/Utils/LowerSelect.cpp b/lib/Transforms/Utils/LowerSelect.cpp index 75557682935..6a24c294cfd 100644 --- a/lib/Transforms/Utils/LowerSelect.cpp +++ b/lib/Transforms/Utils/LowerSelect.cpp @@ -47,6 +47,8 @@ namespace { X("lowerselect", "Lower select instructions to branches"); } +// Publically exposed interface to pass... +const PassInfo *llvm::LowerSelectID = X.getPassInfo(); //===----------------------------------------------------------------------===// // This pass converts SelectInst instructions into conditional branch and PHI // instructions. If the OnlyFP flag is set to true, then only floating point diff --git a/lib/Transforms/Utils/LowerSwitch.cpp b/lib/Transforms/Utils/LowerSwitch.cpp index a6b3f28795b..ebad6c36dbc 100644 --- a/lib/Transforms/Utils/LowerSwitch.cpp +++ b/lib/Transforms/Utils/LowerSwitch.cpp @@ -60,6 +60,8 @@ namespace { X("lowerswitch", "Lower SwitchInst's to branches"); } +// Publically exposed interface to pass... +const PassInfo *llvm::LowerSwitchID = X.getPassInfo(); // 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 77c72fe4479..c15d10c824e 100644 --- a/lib/Transforms/Utils/Mem2Reg.cpp +++ b/lib/Transforms/Utils/Mem2Reg.cpp @@ -74,6 +74,8 @@ bool PromotePass::runOnFunction(Function &F) { return Changed; } +// Publically exposed interface to pass... +const PassInfo *llvm::PromoteMemoryToRegisterID = X.getPassInfo(); // createPromoteMemoryToRegister - Provide an entry point to create this pass. // FunctionPass *llvm::createPromoteMemoryToRegisterPass() {