31 assert(!MF &&
"MachineFunctionAnalysis left initialized!");
34 void MachineFunctionAnalysis::getAnalysisUsage(
AnalysisUsage &AU)
const {
39 bool MachineFunctionAnalysis::doInitialization(
Module &M) {
41 assert(MMI &&
"MMI not around yet??");
48 bool MachineFunctionAnalysis::runOnFunction(
Function &
F) {
49 assert(!MF &&
"MachineFunctionAnalysis already initialized!");
51 getAnalysis<MachineModuleInfo>());
57 void MachineFunctionAnalysis::releaseMemory() {
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
A Module instance is used to store all the information related to an LLVM module. ...
~MachineFunctionAnalysis() override
AnalysisUsage & addRequired()
MachineFunctionAnalysis(const TargetMachine &tm, MachineFunctionInitializer *MFInitializer)
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
void initializeMachineModuleInfoPass(PassRegistry &)
virtual bool initializeMachineFunction(MachineFunction &MF)=0
Initialize the machine function.
void setPreservesAll()
Set by analyses that do not transform their input at all.
void setModule(const Module *M)
Primary interface to the complete machine description for the target machine.
This interface provides a way to initialize machine functions after they are created by the machine f...
MachineModuleInfo - This class contains meta information specific to a module.