32#ifndef LLVM_TRANSFORMS_SCALAR_LICM_H
33#define LLVM_TRANSFORMS_SCALAR_LICM_H
70 LICMPass(
unsigned MssaOptCap,
unsigned MssaNoAccForPromotionCap,
71 bool AllowSpeculation)
88 LNICMPass(
unsigned MssaOptCap,
unsigned MssaNoAccForPromotionCap,
89 bool AllowSpeculation)
This header defines various interfaces for pass management in LLVM.
This header provides classes for managing per-loop analyses.
A container for analyses that lazily runs them and caches their results.
Performs Loop Invariant Code Motion Pass.
LICMPass(unsigned MssaOptCap, unsigned MssaNoAccForPromotionCap, bool AllowSpeculation)
void printPipeline(raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
LICMPass(LICMOptions Opts)
PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
Performs LoopNest Invariant Code Motion Pass.
PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
LNICMPass(LICMOptions Opts)
void printPipeline(raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
LNICMPass(unsigned MssaOptCap, unsigned MssaNoAccForPromotionCap, bool AllowSpeculation)
This class provides an interface for updating the loop pass manager based on mutations to the loop ne...
This class represents a loop nest and can be used to query its properties.
Represents a single loop in the control flow graph.
A set of analyses that are preserved following a run of a transformation pass.
StringRef - Represent a constant reference to a string, i.e.
An efficient, type-erasing, non-owning reference to a callable.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
cl::opt< unsigned > SetLicmMssaNoAccForPromotionCap
cl::opt< unsigned > SetLicmMssaOptCap
unsigned MssaNoAccForPromotionCap
LICMOptions(unsigned MssaOptCap, unsigned MssaNoAccForPromotionCap, bool AllowSpeculation)
The adaptor from a function pass to a loop pass computes these analyses and makes them available to t...
A CRTP mix-in to automatically provide informational APIs needed for passes.