LLVM 22.0.0git
SizeOpts.h File Reference

Go to the source code of this file.

Namespaces

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

Enumerations

enum class  llvm::PGSOQueryType { llvm::IRPass , llvm::Test , llvm::Other }

Functions

static bool llvm::isPGSOColdCodeOnly (ProfileSummaryInfo *PSI)
template<typename FuncT, typename BFIT>
bool llvm::shouldFuncOptimizeForSizeImpl (const FuncT *F, ProfileSummaryInfo *PSI, BFIT *BFI, PGSOQueryType QueryType)
template<typename BlockTOrBlockFreq, typename BFIT>
bool llvm::shouldOptimizeForSizeImpl (BlockTOrBlockFreq BBOrBlockFreq, ProfileSummaryInfo *PSI, BFIT *BFI, PGSOQueryType QueryType)
LLVM_ABI bool llvm::shouldOptimizeForSize (const Function *F, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI, PGSOQueryType QueryType=PGSOQueryType::Other)
 Returns true if function F is suggested to be size-optimized based on the profile.
LLVM_ABI bool llvm::shouldOptimizeForSize (const BasicBlock *BB, ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI, PGSOQueryType QueryType=PGSOQueryType::Other)
 Returns true if basic block BB is suggested to be size-optimized based on the profile.

Variables

LLVM_ABI cl::opt< boolllvm::EnablePGSO
LLVM_ABI cl::opt< boolllvm::PGSOLargeWorkingSetSizeOnly
LLVM_ABI cl::opt< boolllvm::PGSOColdCodeOnly
LLVM_ABI cl::opt< boolllvm::PGSOColdCodeOnlyForInstrPGO
LLVM_ABI cl::opt< boolllvm::PGSOColdCodeOnlyForSamplePGO
LLVM_ABI cl::opt< boolllvm::PGSOColdCodeOnlyForPartialSamplePGO
LLVM_ABI cl::opt< boolllvm::ForcePGSO
LLVM_ABI cl::opt< int > llvm::PgsoCutoffInstrProf
LLVM_ABI cl::opt< int > llvm::PgsoCutoffSampleProf