LLVM  12.0.0git
Macros | Functions | Variables
CFIInstrInserter.cpp File Reference
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SetOperations.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetFrameLowering.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Target/TargetMachine.h"
Include dependency graph for CFIInstrInserter.cpp:

Go to the source code of this file.

Macros

#define INVALID_REG   UINT_MAX
 
#define INVALID_OFFSET   INT_MAX
 

Functions

 INITIALIZE_PASS (CFIInstrInserter, "cfi-instr-inserter", "Check CFA info and insert CFI instructions if needed", false, false) FunctionPass *llvm
 

Variables

static cl::opt< boolVerifyCFI ("verify-cfiinstrs", cl::desc("Verify Call Frame Information instructions"), cl::init(false), cl::Hidden)
 

Macro Definition Documentation

◆ INVALID_OFFSET

#define INVALID_OFFSET   INT_MAX

Definition at line 91 of file CFIInstrInserter.cpp.

◆ INVALID_REG

#define INVALID_REG   UINT_MAX

Definition at line 90 of file CFIInstrInserter.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( CFIInstrInserter  ,
"cfi-instr-inserter"  ,
"Check CFA info and insert CFI instructions if needed"  ,
false  ,
false   
)

Definition at line 141 of file CFIInstrInserter.cpp.

References assert(), llvm::BuildMI(), llvm::MCCFIInstruction::cfiDefCfa(), llvm::MCCFIInstruction::cfiDefCfaOffset(), llvm::MCCFIInstruction::createDefCfaRegister(), llvm::MCCFIInstruction::createOffset(), llvm::MCCFIInstruction::createRegister(), llvm::MCCFIInstruction::createRestore(), llvm::depth_first(), DL, llvm::SmallVectorBase< SmallVectorSizeType< T > >::empty(), llvm::errs(), llvm::MachineFunction::front(), llvm::MCInstrInfo::get(), llvm::MachineOperand::getCFIIndex(), llvm::MachineFunction::getFrameInstructions(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::TargetFrameLowering::getInitialCFAOffset(), llvm::TargetFrameLowering::getInitialCFARegister(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineBasicBlock::getNumber(), llvm::MCRegisterInfo::getNumRegs(), llvm::MCCFIInstruction::getOffset(), llvm::MachineInstr::getOperand(), llvm::MCCFIInstruction::getOperation(), llvm::MCCFIInstruction::getRegister(), llvm::MCCFIInstruction::getRegister2(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::MachineBasicBlock::isBeginSection(), llvm::MachineInstr::isCFIInstruction(), llvm_unreachable, MBB, MBBI, MI, llvm::MCCFIInstruction::OpAdjustCfaOffset, llvm::MCCFIInstruction::OpDefCfa, llvm::MCCFIInstruction::OpDefCfaOffset, llvm::MCCFIInstruction::OpDefCfaRegister, llvm::MCCFIInstruction::OpEscape, llvm::MCCFIInstruction::OpGnuArgsSize, llvm::MCCFIInstruction::OpNegateRAState, llvm::MCCFIInstruction::OpOffset, llvm::MCCFIInstruction::OpRegister, llvm::MCCFIInstruction::OpRelOffset, llvm::MCCFIInstruction::OpRememberState, llvm::MCCFIInstruction::OpRestore, llvm::MCCFIInstruction::OpRestoreState, llvm::MCCFIInstruction::OpSameValue, llvm::MCCFIInstruction::OpUndefined, llvm::MCCFIInstruction::OpWindowSave, llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T >::push_back(), Reg, llvm::report_fatal_error(), llvm::BitVector::reset(), llvm::BitVector::set(), llvm::BitVector::set_bits(), TII, TRI, and verify.

Variable Documentation

◆ VerifyCFI

cl::opt<bool> VerifyCFI("verify-cfiinstrs", cl::desc("Verify Call Frame Information instructions"), cl::init(false), cl::Hidden)
static