LLVM 20.0.0git
|
#include "llvm/CodeGen/CodeGenCommonISel.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/IR/DebugInfoMetadata.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "codegen-common" |
Functions | |
static bool | MIIsInTerminatorSequence (const MachineInstr &MI) |
Given that the input MI is before a partial terminator sequence TSeq, return true if M + TSeq also a partial terminator sequence. | |
static MachineOperand * | getSalvageOpsForCopy (const MachineRegisterInfo &MRI, MachineInstr &Copy) |
static MachineOperand * | getSalvageOpsForTrunc (const MachineRegisterInfo &MRI, MachineInstr &Trunc, SmallVectorImpl< uint64_t > &Ops) |
static MachineOperand * | salvageDebugInfoImpl (const MachineRegisterInfo &MRI, MachineInstr &MI, SmallVectorImpl< uint64_t > &Ops) |
#define DEBUG_TYPE "codegen-common" |
Definition at line 22 of file CodeGenCommonISel.cpp.
|
static |
Definition at line 218 of file CodeGenCommonISel.cpp.
References assert().
Referenced by salvageDebugInfoImpl().
|
static |
Definition at line 225 of file CodeGenCommonISel.cpp.
References llvm::SmallVectorImpl< T >::append(), assert(), llvm::MachineInstr::defs(), llvm::DIExpression::getExtOps(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and MRI.
Referenced by salvageDebugInfoImpl().
|
static |
Given that the input MI is before a partial terminator sequence TSeq, return true if M + TSeq also a partial terminator sequence.
A Terminator sequence is a sequence of MachineInstrs which at this point in lowering copy vregs into physical registers, which are then passed into terminator instructors so we can satisfy ABI constraints. A partial terminator sequence is an improper subset of a terminator sequence (i.e. it may be the whole terminator sequence).
Definition at line 53 of file CodeGenCommonISel.cpp.
References assert(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isDef(), llvm::Register::isPhysical(), llvm::MachineOperand::isReg(), and MI.
Referenced by llvm::findSplitPointForStackProtector().
|
static |
Definition at line 244 of file CodeGenCommonISel.cpp.
References getSalvageOpsForCopy(), getSalvageOpsForTrunc(), MI, and MRI.