10 #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H
11 #define LLVM_LIB_TARGET_HEXAGON_HEXAGONMACHINEFUNCTIONINFO_H
29 unsigned SRetReturnReg;
30 unsigned StackAlignBaseReg;
31 std::vector<MachineInstr*> AllocaAdjustInsts;
32 int VarArgsFrameIndex;
35 std::map<const MachineInstr*, unsigned> PacketInfo;
36 virtual void anchor();
40 HasClobberLR(0), HasEHReturn(
false) {}
51 AllocaAdjustInsts.push_back(MI);
54 return AllocaAdjustInsts;
67 return (PacketInfo.count(MI) &&
71 return (PacketInfo.count(MI) &&
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.
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 std::vector< MachineInstr * > & getAllocaAdjustInsts()
void addAllocaAdjustInst(MachineInstr *MI)
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)
HexagonMachineFunctionInfo()
void setStartPacket(MachineInstr *MI)
void setHasClobberLR(bool v)