16 #ifndef LLVM_ANALYSIS_ASSUMPTIONCACHE_H
17 #define LLVM_ANALYSIS_ASSUMPTIONCACHE_H
77 AssumeHandles.clear();
107 static void *
ID() {
return (
void *)&PassID; }
143 class FunctionCallbackVH :
public CallbackVH {
145 void deleted()
override;
154 friend FunctionCallbackVH;
A Module instance is used to store all the information related to an LLVM module. ...
Printer pass for the AssumptionAnalysis results.
CallInst - This class represents a function call, abstracting a target machine's calling convention...
An immutable pass that tracks lazily created AssumptionCache objects.
A cache of .assume calls within a function.
AssumptionAnalysis(const AssumptionAnalysis &Arg)
AssumptionAnalysis & operator=(const AssumptionAnalysis &RHS)
bool doFinalization(Module &) override
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes...
static StringRef name()
Provide a name for the analysis for debugging and logging.
static void * ID()
Opaque, unique identifier for this analysis pass.
void clear()
Clear the cache of .assume intrinsics for a function.
An abstract set of preserved analyses following a transformation pass run.
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...
AssumptionCache(Function &F)
Construct an AssumptionCache from a function by scanning all of its instructions. ...
MutableArrayRef< WeakVH > assumptions()
Access the list of assumption handles currently tracked for this fuction.
void releaseMemory() override
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...
A function analysis which provides an AssumptionCache.
ImmutablePass class - This class is used to provide information that does not need to be run...
~AssumptionCacheTracker() override
AssumptionAnalysis & operator=(AssumptionAnalysis &&RHS)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
AssumptionAnalysis(AssumptionAnalysis &&Arg)
void registerAssumption(CallInst *CI)
Add an .assume intrinsic to this function's cache.
PreservedAnalyses run(Function &F, AnalysisManager< Function > *AM)
AssumptionCache run(Function &F)
LLVM Value Representation.
This class implements an extremely fast bulk output stream that can only output to a stream...
AssumptionCache & getAssumptionCache(Function &F)
Get the cached assumptions for a function.
Value handle with callbacks on RAUW and destruction.
StringRef - Represent a constant reference to a string, i.e.
A generic analysis pass manager with lazy running and caching of results.
void verifyAnalysis() const override
verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis infor...
AssumptionPrinterPass(raw_ostream &OS)