Go to the documentation of this file.
20 #ifndef LLVM_TRANSFORMS_SCALAR_SCCP_H
21 #define LLVM_TRANSFORMS_SCALAR_SCCP_H
29 class AssumptionCache;
33 class TargetLibraryInfo;
34 class TargetTransformInfo;
35 struct AnalysisResultsForFn;
55 #endif // LLVM_TRANSFORMS_SCALAR_SCCP_H
A set of analyses that are preserved following a run of a transformation pass.
This is an optimization pass for GlobalISel generic memory operations.
A parsed version of the target data layout string in and methods for querying it.
A CRTP mix-in to automatically provide informational APIs needed for passes.
Helper struct for bundling up the analysis results per function for IPSCCP.
bool runIPSCCP(Module &M, const DataLayout &DL, std::function< const TargetLibraryInfo &(Function &)> GetTLI, function_ref< AnalysisResultsForFn(Function &)> getAnalysis)
An efficient, type-erasing, non-owning reference to a callable.
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
print Print MemDeps of function
A Module instance is used to store all the information related to an LLVM module.
bool runFunctionSpecialization(Module &M, const DataLayout &DL, std::function< TargetLibraryInfo &(Function &)> GetTLI, std::function< TargetTransformInfo &(Function &)> GetTTI, std::function< AssumptionCache &(Function &)> GetAC, function_ref< AnalysisResultsForFn(Function &)> GetAnalysis)
A cache of @llvm.assume calls within a function.
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
Machine Check Debug Module
This pass performs function-level constant propagation and merging.
Provides information about what library functions are available for the current target.
A container for analyses that lazily runs them and caches their results.