* Most pass ctor functions don't take TM arguments anymore

* New createPrologEpilogCodeInserter() function


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5181 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-12-28 20:26:16 +00:00
parent 0285a33761
commit f2ab4124e3

View File

@ -20,24 +20,29 @@ class Pass;
///
Pass *createSimpleX86InstructionSelector(TargetMachine &TM);
/// createSimpleRegisterAllocation - This function converts the specified
/// machine code function from SSA form to use explicit registers by spilling
/// every register. Wow, great policy huh?
/// createSimpleRegisterAllocation - This function returns a pass that converts
/// the specified machine code function from SSA form to use explicit registers
/// by spilling every register. Wow, great policy huh?
///
Pass *createSimpleRegisterAllocator(TargetMachine &TM);
Pass *createLocalRegisterAllocator(TargetMachine &TM);
Pass *createSimpleRegisterAllocator();
Pass *createLocalRegisterAllocator();
/// createPrologEpilogCodeInserter - This function returns a pass that inserts
/// prolog and epilog code, and eliminates abstract frame references.
///
Pass *createPrologEpilogCodeInserter();
/// createX86CodePrinterPass - Print out the specified machine code function to
/// the specified stream. This function should work regardless of whether or
/// not the function is in SSA form or not.
///
Pass *createX86CodePrinterPass(TargetMachine &TM, std::ostream &O);
Pass *createX86CodePrinterPass(std::ostream &O);
/// X86EmitCodeToMemory - This function converts a register allocated function
/// into raw machine code in a dynamically allocated chunk of memory. A pointer
/// to the start of the function is returned.
///
Pass *createEmitX86CodeToMemory(TargetMachine &TM);
Pass *createEmitX86CodeToMemory();
// Put symbolic names in a namespace to avoid causing these to clash with all
// kinds of other things...