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.