LLVM 20.0.0git
Classes | Namespaces | Functions
ModuleSummaryAnalysis.h File Reference

This is the interface to build a ModuleSummaryIndex for a module. More...

#include "llvm/IR/ModuleSummaryIndex.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include <functional>
#include <optional>

Go to the source code of this file.

Classes

class  llvm::ModuleSummaryIndexAnalysis
 Analysis pass to provide the ModuleSummaryIndex object. More...
 
class  llvm::ModuleSummaryIndexWrapperPass
 Legacy wrapper pass to provide the ModuleSummaryIndex object. More...
 
class  llvm::ImmutableModuleSummaryIndexWrapperPass
 Legacy wrapper pass to provide the ModuleSummaryIndex object. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

ModuleSummaryIndex llvm::buildModuleSummaryIndex (const Module &M, std::function< BlockFrequencyInfo *(const Function &F)> GetBFICallback, ProfileSummaryInfo *PSI, std::function< const StackSafetyInfo *(const Function &F)> GetSSICallback=[](const Function &F) -> const StackSafetyInfo *{ return nullptr;})
 Direct function to compute a ModuleSummaryIndex from a given module.
 
ModulePassllvm::createModuleSummaryIndexWrapperPass ()
 
ImmutablePassllvm::createImmutableModuleSummaryIndexWrapperPass (const ModuleSummaryIndex *Index)
 
bool llvm::mayHaveMemprofSummary (const CallBase *CB)
 Returns true if the instruction could have memprof metadata, used to ensure consistency between summary analysis and the ThinLTO backend processing.
 

Detailed Description

This is the interface to build a ModuleSummaryIndex for a module.

Definition in file ModuleSummaryAnalysis.h.