Go to the source code of this file.
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "hwloops" |
◆ INITIALIZE_PASS_BEGIN()
INITIALIZE_PASS_BEGIN |
( |
HexagonHardwareLoops |
, |
|
|
"hwloops" |
, |
|
|
"Hexagon Hardware Loops" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
◆ STATISTIC()
STATISTIC |
( |
NumHWLoops |
, |
|
|
"Number of loops converted to hardware loops" |
|
|
) |
| |
◆ false
◆ HWCreatePreheader
cl::opt< bool > HWCreatePreheader("hexagon-hwloop-preheader", cl::Hidden, cl::init(true), cl::desc("Add a preheader to a hardware loop if one doesn't exist")) |
( |
"hexagon-hwloop-preheader" |
, |
|
|
cl::Hidden |
, |
|
|
cl::init(true) |
, |
|
|
cl::desc("Add a preheader to a hardware loop if one doesn't exist") |
|
|
) |
| |
|
static |
◆ HWLoopLimit
cl::opt< int > HWLoopLimit("hexagon-max-hwloop", cl::Hidden, cl::init(-1)) |
( |
"hexagon-max-hwloop" |
, |
|
|
cl::Hidden |
, |
|
|
cl::init(-1) |
|
|
) |
| |
|
static |
◆ hwloops
◆ Loops
Definition at line 373 of file HexagonHardwareLoops.cpp.
Referenced by llvm::BlockFrequencyInfoImplBase::analyzeIrreducible(), llvm::appendLoopsToWorklist(), llvm::appendReversedLoopsToWorklist(), llvm::LoopNest::areAllLoopsRotatedForm(), llvm::LoopNest::areAllLoopsSimplifyForm(), llvm::CacheCost::CacheCost(), llvm::BlockFrequencyInfoImplBase::clear(), llvm::OpenMPIRBuilder::collapseLoops(), llvm::denormalizeForPostIncUse(), llvm::DependenceInfo::depends(), getAnyExtendConsideringPostIncUses(), llvm::CacheCost::getCacheCost(), llvm::LoopNest::getInnermostLoop(), getInnerMostLoop(), llvm::LoopNest::getLoop(), llvm::LoopNest::getLoops(), llvm::LoopNest::getLoopsAtDepth(), llvm::LoopNest::getName(), llvm::LoopNest::getNestDepth(), llvm::LoopNest::getNumLoops(), llvm::LoopNest::getOutermostLoop(), llvm::LoopNest::getParent(), llvm::DependenceInfo::getSplitIteration(), INITIALIZE_PASS(), llvm::normalizeForPostIncUse(), llvm::SIOptimizeVGPRLiveRangePass::run(), runImpl(), llvm::RAGreedy::runOnMachineFunction(), llvm::OpenMPIRBuilder::tileLoops(), tryToUnrollAndJamLoop(), llvm::BlockFrequencyInfoImplBase::unwrapLoops(), llvm::LoopInfoBase< BlockT, LoopT >::verify(), llvm::LoopBase< BlockT, LoopT >::verifyLoopNest(), and llvm::VirtRegAuxInfo::VirtRegAuxInfo().
◆ PHFn
cl::opt< std::string > PHFn("hexagon-hwloop-phfn", cl::Hidden, cl::init("")) |
( |
"hexagon-hwloop-phfn" |
, |
|
|
cl::Hidden |
, |
|
|
cl::init("") |
|
|
) |
| |
|
static |
◆ SpecPreheader
cl::opt< bool > SpecPreheader("hwloop-spec-preheader", cl::Hidden, cl::desc("Allow speculation of preheader " "instructions")) |
( |
"hwloop-spec-preheader" |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Allow speculation of preheader " "instructions") |
|
|
) |
| |
|
static |