LLVM: lib/Target/ARM/Thumb1FrameLowering.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_ARM_THUMB1FRAMELOWERING_H

10#define LLVM_LIB_TARGET_ARM_THUMB1FRAMELOWERING_H

11

13

14namespace llvm {

15

18

20public:

22

23

24

27

32 bool

37

39

44

45

46

47

48

49

51

52

56

57private:

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74 bool needPopSpecialFixUp(const MachineFunction &MF) const;

75

76

77

78

79

80

81

82

83

85};

86

87}

88

89#endif

Register const TargetRegisterInfo * TRI

ARMFrameLowering(const ARMSubtarget &sti)

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

MachineInstrBundleIterator< MachineInstr > iterator

MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...

TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...

MachineBasicBlock::iterator eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator MI) const override

This method is called during prolog/epilog code insertion to eliminate call frame setup and destroy p...

Thumb1FrameLowering(const ARMSubtarget &sti)

void emitPrologue(MachineFunction &MF, MachineBasicBlock &MBB) const override

emitProlog/emitEpilog - These methods insert prolog and epilog code into the function.

void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const override

bool canUseAsEpilogue(const MachineBasicBlock &MBB) const override

Check whether or not the given MBB can be used as a epilogue for the target.

bool hasReservedCallFrame(const MachineFunction &MF) const override

hasReservedCallFrame - Under normal circumstances, when a frame pointer is not required,...

bool enableShrinkWrapping(const MachineFunction &MF) const override

Disable shrink wrap as tBfar/BL will be used to adjust for long jumps.

Definition Thumb1FrameLowering.h:53

bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, MutableArrayRef< CalleeSavedInfo > CSI, const TargetRegisterInfo *TRI) const override

restoreCalleeSavedRegisters - Issues instruction(s) to restore all callee saved registers and returns...

bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, ArrayRef< CalleeSavedInfo > CSI, const TargetRegisterInfo *TRI) const override

spillCalleeSavedRegisters - Issues instruction(s) to spill all callee saved registers and returns tru...

This is an optimization pass for GlobalISel generic memory operations.