|
| BasicBlock * | llvm::InsertPreheaderForLoop (Loop *L, DominatorTree *DT, LoopInfo *LI, bool PreserveLCSSA) |
| | InsertPreheaderForLoop - Once we discover that a loop doesn't have a preheader, this method is called to insert one. More...
|
| |
| bool | llvm::formLCSSAForInstructions (SmallVectorImpl< Instruction * > &Worklist, DominatorTree &DT, LoopInfo &LI) |
| | Ensures LCSSA form for every instruction from the Worklist in the scope of innermost containing loop. More...
|
| |
| bool | llvm::formLCSSA (Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE) |
| | Put loop into LCSSA form. More...
|
| |
| bool | llvm::formLCSSARecursively (Loop &L, DominatorTree &DT, LoopInfo *LI, ScalarEvolution *SE) |
| | Put a loop nest into LCSSA form. More...
|
| |
| bool | llvm::sinkRegion (DomTreeNode *, AliasAnalysis *, LoopInfo *, DominatorTree *, TargetLibraryInfo *, Loop *, AliasSetTracker *, LoopSafetyInfo *, OptimizationRemarkEmitter *ORE) |
| | Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in reverse depth first order w.r.t the DominatorTree. More...
|
| |
| bool | llvm::hoistRegion (DomTreeNode *, AliasAnalysis *, LoopInfo *, DominatorTree *, TargetLibraryInfo *, Loop *, AliasSetTracker *, LoopSafetyInfo *, OptimizationRemarkEmitter *ORE) |
| | Walk the specified region of the CFG (defined by all blocks dominated by the specified block, and that are in the current loop) in depth first order w.r.t the DominatorTree. More...
|
| |
| bool | llvm::promoteLoopAccessesToScalars (AliasSet &, SmallVectorImpl< BasicBlock * > &, SmallVectorImpl< Instruction * > &, PredIteratorCache &, LoopInfo *, DominatorTree *, const TargetLibraryInfo *, Loop *, AliasSetTracker *, LoopSafetyInfo *, OptimizationRemarkEmitter *) |
| | Try to promote memory values to scalars by sinking stores out of the loop and moving loads to before the loop. More...
|
| |
| void | llvm::computeLoopSafetyInfo (LoopSafetyInfo *, Loop *) |
| | Computes safety information for a loop checks loop body & header for the possibility of may throw exception, it takes LoopSafetyInfo and loop as argument. More...
|
| |
| bool | llvm::isGuaranteedToExecute (const Instruction &Inst, const DominatorTree *DT, const Loop *CurLoop, const LoopSafetyInfo *SafetyInfo) |
| | Returns true if the instruction in a loop is guaranteed to execute at least once. More...
|
| |
| SmallVector< Instruction *, 8 > | llvm::findDefsUsedOutsideOfLoop (Loop *L) |
| | Returns the instructions that use values defined in the loop. More...
|
| |
| Optional< const MDOperand * > | llvm::findStringMetadataForLoop (Loop *TheLoop, StringRef Name) |
| | Find string metadata for loop. More...
|
| |
| void | llvm::addStringMetadataToLoop (Loop *TheLoop, const char *MDString, unsigned V=0) |
| | Set input string into loop metadata by keeping other values intact. More...
|
| |
| Optional< unsigned > | llvm::getLoopEstimatedTripCount (Loop *L) |
| | Get a loop's estimated trip count based on branch weight metadata. More...
|
| |
| void | llvm::getLoopAnalysisUsage (AnalysisUsage &AU) |
| | Helper to consistently add the set of standard passes to a loop pass's AnalysisUsage. More...
|
| |
| bool | llvm::canSinkOrHoistInst (Instruction &I, AAResults *AA, DominatorTree *DT, Loop *CurLoop, AliasSetTracker *CurAST, LoopSafetyInfo *SafetyInfo, OptimizationRemarkEmitter *ORE=nullptr) |
| | Returns true if the hoister and sinker can handle this instruction. More...
|
| |