Go to the source code of this file.
|
| llvm |
| List of target independent CodeGen pass IDs.
|
|
|
| STATISTIC (NumNVJGenerated,"Number of New Value Jump Instructions created") |
|
void | llvm::initializeHexagonNewValueJumpPass (PassRegistry &) |
|
| INITIALIZE_PASS_BEGIN (HexagonNewValueJump,"hexagon-nvj","Hexagon NewValueJump", false, false) INITIALIZE_PASS_END(HexagonNewValueJump |
|
hexagon Hexagon static false bool | canBeFeederToNewValueJump (const HexagonInstrInfo *QII, const TargetRegisterInfo *TRI, MachineBasicBlock::iterator II, MachineBasicBlock::iterator end, MachineBasicBlock::iterator skip, MachineFunction &MF) |
|
static bool | commonChecksToProhibitNewValueJump (bool afterRA, MachineBasicBlock::iterator MII) |
|
static bool | canCompareBeNewValueJump (const HexagonInstrInfo *QII, const TargetRegisterInfo *TRI, MachineBasicBlock::iterator II, unsigned pReg, bool secondReg, bool optLocation, MachineBasicBlock::iterator end, MachineFunction &MF) |
|
static unsigned | getNewValueJumpOpcode (MachineInstr *MI, int reg, bool secondRegNewified, MachineBasicBlock *jmpTarget, const MachineBranchProbabilityInfo *MBPI) |
|
#define DEBUG_TYPE "hexagon-nvj" |
Definition at line 215 of file HexagonNewValueJump.cpp.
References commonChecksToProhibitNewValueJump(), llvm::TargetOpcode::COPY, llvm::sys::path::end(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::getVRegDef(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::A64CC::MI, and MRI.
STATISTIC |
( |
NumNVJGenerated |
, |
|
|
"Number of New Value Jump Instructions created" |
|
|
) |
| |
cl::opt<int> DbgNVJCount("nvj-count", cl::init(-1), cl::Hidden, cl::desc("Maximum number of predicated jumps to be converted to New Value Jump")) |
|
static |
hexagon Hexagon NewValueJump |