LLVM: lib/Target/Hexagon/HexagonHardwareLoops.cpp File Reference (original ) (raw )Go to the source code of this file.
Namespaces
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
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◆ LoopsDefinition 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
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