Go to the documentation of this file.
14 #ifndef LLVM_ANALYSIS_FUNCTIONPROPERTIESANALYSIS_H
15 #define LLVM_ANALYSIS_FUNCTIONPROPERTIESANALYSIS_H
41 return !(*
this == FPI);
124 #endif // LLVM_ANALYSIS_FUNCTIONPROPERTIESANALYSIS_H
static FunctionPropertiesInfo getFunctionPropertiesInfo(const Function &F, FunctionAnalysisManager &FAM)
A set of analyses that are preserved following a run of a transformation pass.
This is an optimization pass for GlobalISel generic memory operations.
bool operator==(const FunctionPropertiesInfo &FPI) const
A CRTP mix-in to automatically provide informational APIs needed for passes.
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
int64_t TopLevelLoopCount
Merge contiguous icmps into a memcmp
FunctionAnalysisManager FAM
Printer pass for the FunctionPropertiesAnalysis results.
FunctionPropertiesInfo run(Function &F, FunctionAnalysisManager &FAM)
LLVM Basic Block Representation.
void finish(FunctionAnalysisManager &FAM) const
This class implements an extremely fast bulk output stream that can only output to a stream.
FunctionPropertiesPrinterPass(raw_ostream &OS)
Implements a dense probed hash-table based set.
A special type used by analysis passes to provide an address that identifies that particular analysis...
Correctly update FunctionPropertiesInfo post-inlining.
A CRTP mix-in that provides informational APIs needed for analysis passes.
void print(raw_ostream &OS) const
int64_t Uses
Number of uses of this function, plus 1 if the function is callable outside the module.
Loop::LoopBounds::Direction Direction
int64_t BlocksReachedFromConditionalInstruction
Number of blocks reached from a conditional instruction, or that are 'cases' of a SwitchInstr.
bool operator!=(const FunctionPropertiesInfo &FPI) const
int64_t TotalInstructionCount
int64_t BasicBlockCount
Number of basic blocks.
Base class for all callable instructions (InvokeInst and CallInst) Holds everything related to callin...
A container for analyses that lazily runs them and caches their results.
FunctionPropertiesUpdater(FunctionPropertiesInfo &FPI, const CallBase &CB)
Common register allocation spilling lr str ldr sxth r3 ldr mla r4 can lr mov lr str ldr sxth r3 mla r4 and then merge mul and lr str ldr sxth r3 mla r4 It also increase the likelihood the store may become dead bb27 Successors according to LLVM BB
int64_t DirectCallsToDefinedFunctions
Number of direct calls made from this function to other functions defined in this module.