LLVM API Documentation
#include <PrologEpilogInserter.h>
Public Member Functions | |
PEI () | |
virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
bool | runOnMachineFunction (MachineFunction &Fn) |
![]() | |
FunctionPass (char &pid) | |
Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
createPrinterPass - Get a function printer pass. More... | |
virtual void | assignPassManager (PMStack &PMS, PassManagerType T) |
virtual PassManagerType | getPotentialPassManagerType () const |
Return what kind of Pass Manager can manage this pass. More... | |
![]() | |
Pass (PassKind K, char &pid) | |
virtual | ~Pass () |
PassKind | getPassKind () const |
virtual const char * | getPassName () const |
AnalysisID | getPassID () const |
getPassID - Return the PassID number that corresponds to this pass. More... | |
virtual bool | doInitialization (Module &) |
virtual bool | doFinalization (Module &) |
virtual void | print (raw_ostream &O, const Module *M) const |
void | dump () const |
virtual void | preparePassManager (PMStack &) |
Check if available pass managers are suitable for this pass or not. More... | |
void | setResolver (AnalysisResolver *AR) |
AnalysisResolver * | getResolver () const |
virtual void | releaseMemory () |
virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
virtual ImmutablePass * | getAsImmutablePass () |
virtual PMDataManager * | getAsPMDataManager () |
virtual void | verifyAnalysis () const |
virtual void | dumpPassStructure (unsigned Offset=0) |
template<typename AnalysisType > | |
AnalysisType * | getAnalysisIfAvailable () const |
bool | mustPreserveAnalysisID (char &AID) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis () const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis (Function &F) |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI, Function &F) |
Static Public Attributes | |
static char | ID = 0 |
Additional Inherited Members | |
![]() | |
static const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
![]() | |
MachineFunctionPass (char &ID) | |
Definition at line 33 of file PrologEpilogInserter.h.
|
inline |
Definition at line 36 of file PrologEpilogInserter.h.
References llvm::PassRegistry::getPassRegistry(), and llvm::initializePEIPass().
|
virtual |
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.
Reimplemented from llvm::MachineFunctionPass.
Definition at line 66 of file PrologEpilogInserter.cpp.
References llvm::MachineFunctionPass::getAnalysisUsage().
|
virtual |
runOnMachineFunction - Insert prolog/epilog code and replace abstract frame indexes with appropriate references.
Implements llvm::MachineFunctionPass.
Definition at line 101 of file PrologEpilogInserter.cpp.
References llvm::MachineRegisterInfo::clearVirtRegs(), llvm::errs(), F(), llvm::MachineFunction::getFrameInfo(), llvm::TargetMachine::getFrameLowering(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getName(), llvm::MachineRegisterInfo::getNumVirtRegs(), llvm::MachineFunction::getRegInfo(), llvm::TargetMachine::getRegisterInfo(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getTarget(), llvm::Function::hasFnAttribute(), llvm::Attribute::Naked, llvm::TargetFrameLowering::processFunctionBeforeCalleeSavedScan(), llvm::TargetFrameLowering::processFunctionBeforeFrameFinalized(), llvm::TargetRegisterInfo::requiresFrameIndexScavenging(), llvm::TargetRegisterInfo::requiresRegisterScavenging(), and WarnStackSize.
|
static |
Definition at line 35 of file PrologEpilogInserter.h.