diff options
Diffstat (limited to 'lib/Target/Hexagon/HexagonFrameLowering.h')
| -rw-r--r-- | lib/Target/Hexagon/HexagonFrameLowering.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/Target/Hexagon/HexagonFrameLowering.h b/lib/Target/Hexagon/HexagonFrameLowering.h index f4d4e1b61a266..988718860c5b8 100644 --- a/lib/Target/Hexagon/HexagonFrameLowering.h +++ b/lib/Target/Hexagon/HexagonFrameLowering.h @@ -1,4 +1,4 @@ -//=- HexagonFrameLowering.h - Define frame lowering for Hexagon --*- C++ -*--=// +//==- HexagonFrameLowering.h - Define frame lowering for Hexagon -*- C++ -*-==// // // The LLVM Compiler Infrastructure // @@ -15,13 +15,18 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/CodeGen/MachineBasicBlock.h" #include "llvm/CodeGen/MachineFrameInfo.h" -#include "llvm/Target/TargetFrameLowering.h" +#include "llvm/CodeGen/TargetFrameLowering.h" #include <vector> namespace llvm { +class BitVector; class HexagonInstrInfo; class HexagonRegisterInfo; +class MachineFunction; +class MachineInstr; +class MachineRegisterInfo; +class TargetRegisterClass; class HexagonFrameLowering : public TargetFrameLowering { public: @@ -43,7 +48,7 @@ public: } bool restoreCalleeSavedRegisters(MachineBasicBlock &MBB, - MachineBasicBlock::iterator MI, const std::vector<CalleeSavedInfo> &CSI, + MachineBasicBlock::iterator MI, std::vector<CalleeSavedInfo> &CSI, const TargetRegisterInfo *TRI) const override { return true; } @@ -52,11 +57,13 @@ public: // We always reserve call frame as a part of the initial stack allocation. return true; } + bool canSimplifyCallFramePseudos(const MachineFunction &MF) const override { // Override this function to avoid calling hasFP before CSI is set // (the default implementation calls hasFP). return true; } + MachineBasicBlock::iterator eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const override; @@ -97,7 +104,7 @@ public: void insertCFIInstructions(MachineFunction &MF) const; private: - typedef std::vector<CalleeSavedInfo> CSIVect; + using CSIVect = std::vector<CalleeSavedInfo>; void expandAlloca(MachineInstr *AI, const HexagonInstrInfo &TII, unsigned SP, unsigned CF) const; |
