LLVM: lib/CGData/StableFunctionMap.cpp File Reference (original) (raw)

Go to the source code of this file.

Variables
static cl::opt< unsigned > GlobalMergingMinMerges ("global-merging-min-merges", cl::desc("Minimum number of similar functions with " "the same hash required for merging."), cl::init(2), cl::Hidden)
static cl::opt< unsigned > GlobalMergingMinInstrs ("global-merging-min-instrs", cl::desc("The minimum instruction count required when merging functions."), cl::init(1), cl::Hidden)
static 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)
static cl::opt< bool > GlobalMergingSkipNoParams ("global-merging-skip-no-params", cl::desc("Skip merging functions with no parameters."), cl::init(true), cl::Hidden)
static cl::opt< double > GlobalMergingInstOverhead ("global-merging-inst-overhead", cl::desc("The overhead cost associated with each instruction when lowering " "to machine instruction."), cl::init(1.2), cl::Hidden)
static 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)
static 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)
static cl::opt< double > GlobalMergingExtraThreshold ("global-merging-extra-threshold", cl::desc("An additional cost threshold that must be exceeded for merging " "to be considered beneficial."), cl::init(0.0), cl::Hidden)

DEBUG_TYPE

#define DEBUG_TYPE "stable-function-map"

ParamLocs

isProfitable()

Definition at line 203 of file StableFunctionMap.cpp.

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

Referenced by llvm::StableFunctionMap::finalize().

removeIdenticalIndexPair()

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

GlobalMergingExtraThreshold

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

GlobalMergingInstOverhead

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

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

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

GlobalMergingMinMerges

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

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

GlobalMergingSkipNoParams

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