Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Macros |Typedefs |Functions |Variables
StableFunctionMap.cpp File Reference
#include "llvm/CGData/StableFunctionMap.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "stable-function-map"
 

Typedefs

using ParamLocs =SmallVector<IndexPair >
 

Functions

static void removeIdenticalIndexPair (SmallVector< std::unique_ptr<StableFunctionMap::StableFunctionEntry > > &SFS)
 
staticbool isProfitable (constSmallVector< std::unique_ptr<StableFunctionMap::StableFunctionEntry > > &SFS)
 

Variables

staticcl::opt<unsignedGlobalMergingMinMerges ("global-merging-min-merges",cl::desc("Minimum number of similarfunctions with " "the same hash requiredfor merging."), cl::init(2), cl::Hidden)
 
staticcl::opt<unsignedGlobalMergingMinInstrs ("global-merging-min-instrs",cl::desc("The minimum instruction count required when merging functions."), cl::init(1), cl::Hidden)
 
staticcl::opt<unsignedGlobalMergingMaxParams ("global-merging-max-params",cl::desc("The maximum number of parameters allowed when merging functions."), cl::init(std::numeric_limits<unsigned >::max()), cl::Hidden)
 
staticcl::opt<boolGlobalMergingSkipNoParams ("global-merging-skip-no-params",cl::desc("Skip mergingfunctions with no parameters."), cl::init(true), cl::Hidden)
 
staticcl::opt< double > GlobalMergingInstOverhead ("global-merging-inst-overhead",cl::desc("The overhead cost associated with each instruction whenlowering " "to machine instruction."), cl::init(1.2), cl::Hidden)
 
staticcl::opt< double > GlobalMergingParamOverhead ("global-merging-param-overhead",cl::desc("The overhead cost associated with each parameter when merging " "functions."), cl::init(2.0), cl::Hidden)
 
staticcl::opt< double > GlobalMergingCallOverhead ("global-merging-call-overhead",cl::desc("The overhead cost associated with each " "function call when merging functions."), cl::init(1.0), cl::Hidden)
 
staticcl::opt< double > GlobalMergingExtraThreshold ("global-merging-extra-threshold",cl::desc("An additional cost threshold that must be exceededfor merging " "to be considered beneficial."), cl::init(0.0), cl::Hidden)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "stable-function-map"

Definition at line21 of fileStableFunctionMap.cpp.

Typedef Documentation

◆ ParamLocs

usingParamLocs =SmallVector<IndexPair>

Definition at line133 of fileStableFunctionMap.cpp.

Function Documentation

◆ isProfitable()

staticbool isProfitable(constSmallVector< std::unique_ptr<StableFunctionMap::StableFunctionEntry > > & SFS)
static

Definition at line162 of fileStableFunctionMap.cpp.

Referencesllvm::SmallSet< T, N, C >::clear(),llvm::dbgs(),GlobalMergingCallOverhead,GlobalMergingExtraThreshold,GlobalMergingInstOverhead,GlobalMergingMaxParams,GlobalMergingMinInstrs,GlobalMergingMinMerges,GlobalMergingParamOverhead,GlobalMergingSkipNoParams,llvm::SmallSet< T, N, C >::insert(),LLVM_DEBUG, andllvm::SmallSet< T, N, C >::size().

Referenced byllvm::StableFunctionMap::finalize().

◆ removeIdenticalIndexPair()

static void removeIdenticalIndexPair(SmallVector< std::unique_ptr<StableFunctionMap::StableFunctionEntry > > & SFS)
static

Definition at line134 of fileStableFunctionMap.cpp.

Referencesllvm::SmallVectorImpl< T >::emplace_back().

Referenced byllvm::StableFunctionMap::finalize().

Variable Documentation

◆ GlobalMergingCallOverhead

cl::opt< double > GlobalMergingCallOverhead("global-merging-call-overhead",cl::desc("The overhead cost associated with each " "function call when merging functions."), cl::init(1.0), cl::Hidden)("global-merging-call-overhead" ,
cl::desc("The overhead cost associated with each " "function call when merging functions.") ,
cl::init(1.0) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingExtraThreshold

cl::opt< double > GlobalMergingExtraThreshold("global-merging-extra-threshold",cl::desc("An additional cost threshold that must be exceededfor merging " "to be considered beneficial."), cl::init(0.0), cl::Hidden)("global-merging-extra-threshold" ,
cl::desc("An additional cost threshold that must be exceededfor merging " "to be considered beneficial.") ,
cl::init(0.0) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingInstOverhead

cl::opt< double > GlobalMergingInstOverhead("global-merging-inst-overhead",cl::desc("The overhead cost associated with each instruction whenlowering " "to machine instruction."), cl::init(1.2), cl::Hidden)("global-merging-inst-overhead" ,
cl::desc("The overhead cost associated with each instruction whenlowering " "to machine instruction.") ,
cl::init(1.2) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingMaxParams

cl::opt<unsigned > GlobalMergingMaxParams("global-merging-max-params",cl::desc( "The maximum number of parameters allowed when merging functions."), cl::init(std::numeric_limits<unsigned >::max()), cl::Hidden)("global-merging-max-params" ,
cl::desc( "The maximum number of parameters allowed when merging functions.") ,
cl::init(std::numeric_limits<unsigned >::max()) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingMinInstrs

cl::opt<unsigned > GlobalMergingMinInstrs("global-merging-min-instrs",cl::desc("The minimum instruction count required when merging functions."), cl::init(1), cl::Hidden)("global-merging-min-instrs" ,
cl::desc("The minimum instruction count required when merging functions.") ,
cl::init(1) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingMinMerges

cl::opt<unsigned > GlobalMergingMinMerges("global-merging-min-merges",cl::desc("Minimum number of similarfunctions with " "the same hash requiredfor merging."), cl::init(2), cl::Hidden)("global-merging-min-merges" ,
cl::desc("Minimum number of similarfunctions with " "the same hash requiredfor merging.") ,
cl::init(2) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingParamOverhead

cl::opt< double > GlobalMergingParamOverhead("global-merging-param-overhead",cl::desc("The overhead cost associated with each parameter when merging " "functions."), cl::init(2.0), cl::Hidden)("global-merging-param-overhead" ,
cl::desc("The overhead cost associated with each parameter when merging " "functions.") ,
cl::init(2.0) ,
cl::Hidden  
)
static

Referenced byisProfitable().

◆ GlobalMergingSkipNoParams

cl::opt<bool > GlobalMergingSkipNoParams("global-merging-skip-no-params",cl::desc("Skip mergingfunctions with no parameters."), cl::init(true), cl::Hidden)("global-merging-skip-no-params" ,
cl::desc("Skip mergingfunctions with no parameters.") ,
cl::init(true,
cl::Hidden  
)
static

Referenced byisProfitable().


Generated on Sun Jul 20 2025 15:02:56 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp