[Hexagon] Delay emission of CFI instructions
[oota-llvm.git] / lib / Target / Hexagon / HexagonFrameLowering.h
index 74dbb3688c4666591a3743be3267bf0b0758e4ee..b8270b94e9926ab33f5b72c1effd968793387888 100644 (file)
@@ -76,6 +76,8 @@ public:
   bool needsAligna(const MachineFunction &MF) const;
   MachineInstr *getAlignaInstr(MachineFunction &MF) const;
 
+  void insertCFIInstructions(MachineFunction &MF) const;
+
 private:
   typedef std::vector<CalleeSavedInfo> CSIVect;
 
@@ -87,6 +89,8 @@ private:
       const HexagonRegisterInfo &HRI) const;
   bool insertCSRRestoresInBlock(MachineBasicBlock &MBB, const CSIVect &CSI,
       const HexagonRegisterInfo &HRI) const;
+  void insertCFIInstructionsAt(MachineBasicBlock &MBB,
+      MachineBasicBlock::iterator At) const;
 
   void adjustForCalleeSavedRegsSpillCall(MachineFunction &MF) const;
   bool replacePredRegPseudoSpillCode(MachineFunction &MF) const;
@@ -95,7 +99,7 @@ private:
   void findShrunkPrologEpilog(MachineFunction &MF, MachineBasicBlock *&PrologB,
       MachineBasicBlock *&EpilogB) const;
 
-  bool shouldInlineCSR(llvm::MachineFunction&, const CSIVect&) const;
+  bool shouldInlineCSR(llvm::MachineFunction &MF, const CSIVect &CSI) const;
   bool useSpillFunction(MachineFunction &MF, const CSIVect &CSI) const;
   bool useRestoreFunction(MachineFunction &MF, const CSIVect &CSI) const;
 };