LLVM 20.0.0git
Classes | Macros | Functions
CFIFixup.cpp File Reference
#include "llvm/CodeGen/CFIFixup.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/Target/TargetMachine.h"
#include <iterator>

Go to the source code of this file.

Classes

struct  InsertionPoint
 

Macros

#define DEBUG_TYPE   "cfi-fixup"
 

Functions

 INITIALIZE_PASS (CFIFixup, "cfi-fixup", "Insert CFI remember/restore state instructions", false, false) FunctionPass *llvm
 
static bool isPrologueCFIInstruction (const MachineInstr &MI)
 
static bool containsEpilogue (const MachineBasicBlock &MBB)
 
static MachineBasicBlockfindPrologueEnd (MachineFunction &MF, MachineBasicBlock::iterator &PrologueEnd)
 
static InsertionPoint insertRememberRestorePair (const InsertionPoint &RememberInsertPt, const InsertionPoint &RestoreInsertPt)
 
static InsertionPoint cloneCfiPrologue (const InsertionPoint &PrologueEnd, const InsertionPoint &DstInsertPt)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "cfi-fixup"

Definition at line 88 of file CFIFixup.cpp.

Function Documentation

◆ cloneCfiPrologue()

static InsertionPoint cloneCfiPrologue ( const InsertionPoint PrologueEnd,
const InsertionPoint DstInsertPt 
)
static

◆ containsEpilogue()

static bool containsEpilogue ( const MachineBasicBlock MBB)
static

◆ findPrologueEnd()

static MachineBasicBlock * findPrologueEnd ( MachineFunction MF,
MachineBasicBlock::iterator PrologueEnd 
)
static

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( CFIFixup  ,
"cfi-fixup"  ,
"Insert CFI remember/restore state instructions"  ,
false  ,
false   
)

Definition at line 92 of file CFIFixup.cpp.

◆ insertRememberRestorePair()

static InsertionPoint insertRememberRestorePair ( const InsertionPoint RememberInsertPt,
const InsertionPoint RestoreInsertPt 
)
static

◆ isPrologueCFIInstruction()

static bool isPrologueCFIInstruction ( const MachineInstr MI)
static

Definition at line 96 of file CFIFixup.cpp.

References llvm::MachineInstr::FrameSetup, and MI.

Referenced by cloneCfiPrologue(), and findPrologueEnd().