LLVM: include/llvm/CodeGen/MachineFunctionPass.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef LLVM_CODEGEN_MACHINEFUNCTIONPASS_H
19#define LLVM_CODEGEN_MACHINEFUNCTIONPASS_H
20
23
24namespace llvm {
25
26
27
28
29
31public:
33
34
38 return false;
39 }
40protected:
42
43
44
45
47
48
49
50
51
52
53
55
58 }
61 }
64 }
65
66private:
70
71
73 const std::string &Banner) const override;
74
75 bool runOnFunction(Function &F) override;
76};
77
78}
79
80#endif
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
bool doInitialization(Module &) override
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before ...
virtual MachineFunctionProperties getClearedProperties() const
MachineFunctionPass(char &ID)
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
virtual MachineFunctionProperties getSetProperties() const
virtual bool runOnMachineFunction(MachineFunction &MF)=0
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
virtual MachineFunctionProperties getRequiredProperties() const
Properties which a MachineFunction may have at a given point in time.
A Module instance is used to store all the information related to an LLVM module.
Pass interface - Implemented by all 'passes'.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.