10 #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H
11 #define LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H
30 unsigned SRetReturnReg = 0;
31 unsigned StackAlignBaseVReg = 0;
32 unsigned StackAlignBasePhysReg = 0;
33 int VarArgsFrameIndex;
34 bool HasClobberLR =
false;
35 bool HasEHReturn =
false;
36 std::map<const MachineInstr*, unsigned> PacketInfo;
37 virtual void anchor();
57 return (PacketInfo.count(MI) &&
61 return (PacketInfo.count(MI) &&
79 #endif // LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H
const unsigned int StartPacket
bool isEndPacket(const MachineInstr *MI) const
void setHasEHReturn(bool H=true)
unsigned getStackAlignBaseVReg() const
Hexagon target-specific information for each MachineFunction.
void setStackAlignBasePhysReg(unsigned R)
MachineFunctionInfo - This class can be derived from and used by targets to hold private target-speci...
unsigned getSRetReturnReg() const
Reg
All possible values of the reg field in the ModR/M byte.
void setSRetReturnReg(unsigned Reg)
void setStackAlignBaseVReg(unsigned R)
const unsigned int EndPacket
bool hasClobberLR() const
bool isStartPacket(const MachineInstr *MI) const
Representation of each machine instruction.
void setVarArgsFrameIndex(int v)
HexagonMachineFunctionInfo(MachineFunction &MF)
int getVarArgsFrameIndex()
void setEndPacket(MachineInstr *MI)
void setStartPacket(MachineInstr *MI)
unsigned getStackAlignBasePhysReg() const
void setHasClobberLR(bool v)
HexagonMachineFunctionInfo()=default