Changeset View
Changeset View
Standalone View
Standalone View
llvm/include/llvm/Transforms/Utils/LoopUtils.h
Show First 20 Lines • Show All 331 Lines • ▼ Show 20 Lines | |||||
/// true. | /// true. | ||||
bool hasIterationCountInvariantInParent(Loop *L, ScalarEvolution &SE); | bool hasIterationCountInvariantInParent(Loop *L, ScalarEvolution &SE); | ||||
/// Helper to consistently add the set of standard passes to a loop pass's \c | /// Helper to consistently add the set of standard passes to a loop pass's \c | ||||
/// AnalysisUsage. | /// AnalysisUsage. | ||||
/// | /// | ||||
/// All loop passes should call this as part of implementing their \c | /// All loop passes should call this as part of implementing their \c | ||||
/// getAnalysisUsage. | /// getAnalysisUsage. | ||||
void getLoopAnalysisUsage(AnalysisUsage &AU); | void getLoopAnalysisUsage(AnalysisUsage &AU, bool Preserve = true); | ||||
/// Returns true if is legal to hoist or sink this instruction disregarding the | /// Returns true if is legal to hoist or sink this instruction disregarding the | ||||
/// possible introduction of faults. Reasoning about potential faulting | /// possible introduction of faults. Reasoning about potential faulting | ||||
/// instructions is the responsibility of the caller since it is challenging to | /// instructions is the responsibility of the caller since it is challenging to | ||||
/// do efficiently from within this routine. | /// do efficiently from within this routine. | ||||
/// \p TargetExecutesOncePerLoop is true only when it is guaranteed that the | /// \p TargetExecutesOncePerLoop is true only when it is guaranteed that the | ||||
/// target executes at most once per execution of the loop body. This is used | /// target executes at most once per execution of the loop body. This is used | ||||
/// to assess the legality of duplicating atomic loads. Generally, this is | /// to assess the legality of duplicating atomic loads. Generally, this is | ||||
▲ Show 20 Lines • Show All 139 Lines • Show Last 20 Lines |