16 #ifndef LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
17 #define LLVM_TRANSFORMS_UTILS_UNROLLLOOP_H
26 class AssumptionCache;
33 class OptimizationRemarkEmitter;
42 bool UnrollLoop(
Loop *
L,
unsigned Count,
unsigned TripCount,
bool Force,
43 bool AllowRuntime,
bool AllowExpensiveTripCount,
44 bool PreserveCondBr,
bool PreserveOnlyFirst,
45 unsigned TripMultiple,
unsigned PeelCount,
LoopInfo *LI,
50 bool AllowExpensiveTripCount,
51 bool UseEpilogRemainder,
LoopInfo *LI,
aarch64 AArch64 CCMP Pass
The main scalar evolution driver.
A cache of .assume calls within a function.
bool UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool Force, bool AllowRuntime, bool AllowExpensiveTripCount, bool PreserveCondBr, bool PreserveOnlyFirst, unsigned TripMultiple, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, AssumptionCache *AC, OptimizationRemarkEmitter *ORE, bool PreserveLCSSA)
Unroll the given loop by Count.
SmallDenseMap< const Loop *, Loop *, 4 > NewLoopsMap
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree...
LLVM Basic Block Representation.
const Loop * addClonedBlockToLoopInfo(BasicBlock *OriginalBB, BasicBlock *ClonedBB, LoopInfo *LI, NewLoopsMap &NewLoops)
Adds ClonedBB to LoopInfo, creates a new loop for ClonedBB if necessary and adds a mapping from the o...
bool peelLoop(Loop *L, unsigned PeelCount, LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, bool PreserveLCSSA)
Peel off the first PeelCount iterations of loop L.
MDNode * GetUnrollMetadata(MDNode *LoopID, StringRef Name)
Given an llvm.loop loop id metadata node, returns the loop hint metadata node with the given name (fo...
bool UnrollRuntimeLoopRemainder(Loop *L, unsigned Count, bool AllowExpensiveTripCount, bool UseEpilogRemainder, LoopInfo *LI, ScalarEvolution *SE, DominatorTree *DT, bool PreserveLCSSA)
Insert code in the prolog/epilog code when unrolling a loop with a run-time trip-count.
Represents a single loop in the control flow graph.
void computePeelCount(Loop *L, unsigned LoopSize, TargetTransformInfo::UnrollingPreferences &UP)
StringRef - Represent a constant reference to a string, i.e.