LLVM: lib/Target/Hexagon/HexagonHardwareLoops.cpp File Reference (original ) (raw )Go to the source code of this file.
◆ 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 367 of file HexagonHardwareLoops.cpp .
Referenced by llvm::appendLoopsToWorklist< ArrayRef< Loop * > & >() , llvm::appendReversedLoopsToWorklist() , llvm::denormalizeForPostIncUse() , llvm::DependenceInfo::depends() , llvm::RegAllocEvictionAdvisorProvider::getAdvisor() , getAnyExtendConsideringPostIncUses() , getInnerMostLoop() , INITIALIZE_PASS() , llvm::normalizeForPostIncUse() , llvm::RegisterCoalescerPass::run() , llvm::SIOptimizeVGPRLiveRangePass::run() , runImpl() , tryToUnrollAndJamLoop() , llvm::LoopInfoBase< BlockT, LoopT >::verify() , and llvm::LoopBase< BlockT, LoopT >::verifyLoopNest() .
◆ 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