LLVM: lib/Target/Hexagon/HexagonNewValueJump.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "hexagon-nvj"
Functions
STATISTIC (NumNVJGenerated, "Number of New Value Jump Instructions created")
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)
Variables
static 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 cl::opt< bool > DisableNewValueJumps ("disable-nvjump", cl::Hidden, cl::desc("Disable New Value Jumps"))
hexagon nvj
hexagon Hexagon NewValueJump
hexagon Hexagon false

DEBUG_TYPE

#define DEBUG_TYPE "hexagon-nvj"

canBeFeederToNewValueJump()

canCompareBeNewValueJump()

Definition at line 229 of file HexagonNewValueJump.cpp.

References commonChecksToProhibitNewValueJump(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineFunction::getRegInfo(), II, llvm::MachineOperand::isImm(), llvm::Register::isPhysicalRegister(), llvm::isUInt(), MI, MRI, and TRI.

commonChecksToProhibitNewValueJump()

getNewValueJumpOpcode()

INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( HexagonNewValueJump ,
"hexagon-nvj" ,
"Hexagon NewValueJump" ,
false ,
false )

STATISTIC()

STATISTIC ( NumNVJGenerated ,
"Number of New Value Jump Instructions created" )

DbgNVJCount

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")) ( "nvj-count" , cl::init(-1) , cl::Hidden , cl::desc("Maximum number of predicated jumps to be converted to " "New Value Jump") ) static

DisableNewValueJumps

false

NewValueJump

hexagon Hexagon NewValueJump

nvj