Go to the source code of this file.
|
| llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
|
static cl::opt< bool > | EnableAddressRebalancing ("isel-rebalance-addr", cl::Hidden, cl::init(true), cl::desc("Rebalance address calculation trees to improve " "instruction selection")) |
|
static cl::opt< bool > | RebalanceOnlyForOptimizations ("rebalance-only-opt", cl::Hidden, cl::init(false), cl::desc("Rebalance address tree only if this allows optimizations")) |
|
static cl::opt< bool > | RebalanceOnlyImbalancedTrees ("rebalance-only-imbal", cl::Hidden, cl::init(false), cl::desc("Rebalance address tree only if it is imbalanced")) |
|
static cl::opt< bool > | CheckSingleUse ("hexagon-isel-su", cl::Hidden, cl::init(true), cl::desc("Enable checking of SDNode's single-use status")) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "hexagon-isel" |
◆ GET_DAGISEL_BODY
◆ getPowerOf2Factor()
static unsigned getPowerOf2Factor |
( |
SDValue |
Val | ) |
|
|
static |
◆ isMemOPCandidate()
Definition at line 941 of file HexagonISelDAGToDAG.cpp.
References llvm::ISD::ADD, llvm::ISD::AND, llvm::SDValue::getNode(), llvm::SDNode::getNumValues(), llvm::SDNode::getOpcode(), llvm::SDNode::getOperand(), llvm::SDNode::hasOneUse(), I, llvm::ISD::LOAD, llvm::ISD::OR, llvm::ISD::STORE, llvm::ISD::SUB, llvm::ARM_MB::SY, and llvm::SDNode::use_begin().
◆ isOpcodeHandled()
◆ isTargetConstant()
◆ willShiftRightEliminate()
static bool willShiftRightEliminate |
( |
SDValue |
V, |
|
|
unsigned |
Amount |
|
) |
| |
|
static |
◆ CheckSingleUse
◆ EnableAddressRebalancing
cl::opt<bool> EnableAddressRebalancing("isel-rebalance-addr", cl::Hidden, cl::init(true), cl::desc("Rebalance address calculation trees to improve " "instruction selection")) |
|
static |
◆ RebalanceOnlyForOptimizations
◆ RebalanceOnlyImbalancedTrees