LLVM: lib/Target/Sparc/SparcFrameLowering.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_SPARC_SPARCFRAMELOWERING_H

14#define LLVM_LIB_TARGET_SPARC_SPARCFRAMELOWERING_H

15

19

20namespace llvm {

21

24public:

26

27

28

31

36

40

42 Register &FrameReg) const override;

43

44

45

46

48

49protected:

51

52private:

53

55

56

58

59

60

64 int NumBytes, unsigned ADDrr, unsigned ADDri) const;

65

66};

67

68}

69

70#endif

MachineBasicBlock MachineBasicBlock::iterator MBBI

MachineInstrBundleIterator< MachineInstr > iterator

Wrapper class representing virtual and physical registers.

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

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

SparcFrameLowering(const SparcSubtarget &ST)

bool targetHandlesStackFrameRounding() const override

targetHandlesStackFrameRounding - Returns true if the target is responsible for rounding up the stack...

Definition SparcFrameLowering.h:47

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

void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs, RegScavenger *RS=nullptr) const override

This method determines which of the registers reported by TargetRegisterInfo::getCalleeSavedRegs() sh...

bool hasFPImpl(const MachineFunction &MF) const override

StackOffset getFrameIndexReference(const MachineFunction &MF, int FI, Register &FrameReg) const override

getFrameIndexReference - This method should return the base register and offset used to reference a f...

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

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

bool hasReservedCallFrame(const MachineFunction &MF) const override

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

StackOffset holds a fixed and a scalable offset in bytes.

TargetFrameLowering(StackDirection D, Align StackAl, int LAO, Align TransAl=Align(1), bool StackReal=true)

This is an optimization pass for GlobalISel generic memory operations.