LLVM: lib/Target/Hexagon/HexagonMachineFunctionInfo.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H

10#define LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H

11

13#include

14

15namespace llvm {

16

18

21

22}

23

24

26

27

28

29 unsigned SRetReturnReg = 0;

30 Register StackAlignBaseReg = 0;

31 int VarArgsFrameIndex;

32 int RegSavedAreaStartFrameIndex;

33 int FirstNamedArgFrameIndex;

34 int LastNamedArgFrameIndex;

35 bool HasClobberLR = false;

36 bool HasEHReturn = false;

37 std::map<const MachineInstr*, unsigned> PacketInfo;

38 virtual void anchor();

39

40public:

42

45

49 const override;

50

53

56

59

62

65

73 auto It = PacketInfo.find(MI);

75 }

77 auto It = PacketInfo.find(MI);

79 }

82

85

88};

89

90}

91

92#endif

void setStartPacket(MachineInstr *MI)

Definition HexagonMachineFunctionInfo.h:66

bool hasEHReturn() const

Definition HexagonMachineFunctionInfo.h:83

bool isStartPacket(const MachineInstr *MI) const

Definition HexagonMachineFunctionInfo.h:72

bool isEndPacket(const MachineInstr *MI) const

Definition HexagonMachineFunctionInfo.h:76

int getVarArgsFrameIndex()

Definition HexagonMachineFunctionInfo.h:55

void setEndPacket(MachineInstr *MI)

Definition HexagonMachineFunctionInfo.h:69

void setStackAlignBaseReg(Register R)

Definition HexagonMachineFunctionInfo.h:86

void setSRetReturnReg(unsigned Reg)

Definition HexagonMachineFunctionInfo.h:52

int getLastNamedArgFrameIndex()

Definition HexagonMachineFunctionInfo.h:64

void setLastNamedArgFrameIndex(int v)

Definition HexagonMachineFunctionInfo.h:63

unsigned getSRetReturnReg() const

Definition HexagonMachineFunctionInfo.h:51

int getFirstNamedArgFrameIndex()

Definition HexagonMachineFunctionInfo.h:61

void setFirstNamedArgFrameIndex(int v)

Definition HexagonMachineFunctionInfo.h:60

void setVarArgsFrameIndex(int v)

Definition HexagonMachineFunctionInfo.h:54

void setRegSavedAreaStartFrameIndex(int v)

Definition HexagonMachineFunctionInfo.h:57

int getRegSavedAreaStartFrameIndex()

Definition HexagonMachineFunctionInfo.h:58

HexagonMachineFunctionInfo()=default

void setHasEHReturn(bool H=true)

Definition HexagonMachineFunctionInfo.h:84

bool hasClobberLR() const

Definition HexagonMachineFunctionInfo.h:81

MachineFunctionInfo * clone(BumpPtrAllocator &Allocator, MachineFunction &DestMF, const DenseMap< MachineBasicBlock *, MachineBasicBlock * > &Src2DstMBB) const override

Make a functionally equivalent copy of this MachineFunctionInfo in MF.

Register getStackAlignBaseReg() const

Definition HexagonMachineFunctionInfo.h:87

HexagonMachineFunctionInfo(const Function &F, const TargetSubtargetInfo *STI)

Definition HexagonMachineFunctionInfo.h:43

void setHasClobberLR(bool v)

Definition HexagonMachineFunctionInfo.h:80

Representation of each machine instruction.

Wrapper class representing virtual and physical registers.

TargetSubtargetInfo - Generic base class for all target subtargets.

const unsigned int EndPacket

Definition HexagonMachineFunctionInfo.h:20

const unsigned int StartPacket

Definition HexagonMachineFunctionInfo.h:19

This is an optimization pass for GlobalISel generic memory operations.

BumpPtrAllocatorImpl<> BumpPtrAllocator

The standard BumpPtrAllocator which just uses the default template parameters.

MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...