From cfca06d7963fa0909f90483b42a6d7d194d01e08 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 26 Jul 2020 19:36:28 +0000 Subject: Vendor import of llvm-project master 2e10b7a39b9, the last commit before the llvmorg-12-init tag, from which release/11.x was branched. --- llvm/lib/Target/Hexagon/HexagonFrameLowering.h | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'llvm/lib/Target/Hexagon/HexagonFrameLowering.h') diff --git a/llvm/lib/Target/Hexagon/HexagonFrameLowering.h b/llvm/lib/Target/Hexagon/HexagonFrameLowering.h index 27265dd537949..87d385e1ce3c4 100644 --- a/llvm/lib/Target/Hexagon/HexagonFrameLowering.h +++ b/llvm/lib/Target/Hexagon/HexagonFrameLowering.h @@ -29,8 +29,10 @@ class TargetRegisterClass; class HexagonFrameLowering : public TargetFrameLowering { public: + // First register which could possibly hold a variable argument. + int FirstVarArgSavedReg; explicit HexagonFrameLowering() - : TargetFrameLowering(StackGrowsDown, Align(8), 0, Align::None(), true) {} + : TargetFrameLowering(StackGrowsDown, Align(8), 0, Align(1), true) {} // All of the prolog/epilog functionality, including saving and restoring // callee-saved registers is handled in emitPrologue. This is to have the @@ -43,14 +45,17 @@ public: bool enableCalleeSaveSkip(const MachineFunction &MF) const override; bool spillCalleeSavedRegisters(MachineBasicBlock &MBB, - MachineBasicBlock::iterator MI, const std::vector &CSI, - const TargetRegisterInfo *TRI) const override { + MachineBasicBlock::iterator MI, + ArrayRef CSI, + const TargetRegisterInfo *TRI) const override { return true; } - bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB, - MachineBasicBlock::iterator MI, std::vector &CSI, - const TargetRegisterInfo *TRI) const override { + bool + restoreCalleeSavedRegisters(MachineBasicBlock &MBB, + MachineBasicBlock::iterator MI, + MutableArrayRef CSI, + const TargetRegisterInfo *TRI) const override { return true; } @@ -78,7 +83,7 @@ public: } int getFrameIndexReference(const MachineFunction &MF, int FI, - unsigned &FrameReg) const override; + Register &FrameReg) const override; bool hasFP(const MachineFunction &MF) const override; const SpillSlot *getCalleeSavedSpillSlots(unsigned &NumEntries) -- cgit v1.2.3