LLVM 22.0.0git
|
#include "llvm/CGData/StableFunctionMap.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/CGData/StableFunctionMapRecord.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 (StableFunctionMap::StableFunctionEntries &SFS) |
static bool | isProfitable (const StableFunctionMap::StableFunctionEntries &SFS) |
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) |
#define DEBUG_TYPE "stable-function-map" |
Definition at line 22 of file StableFunctionMap.cpp.
using ParamLocs = SmallVector<IndexPair> |
Definition at line 173 of file StableFunctionMap.cpp.
|
static |
Definition at line 202 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::SmallVectorBase< Size_T >::size().
Referenced by llvm::StableFunctionMap::finalize().
|
static |
Definition at line 175 of file StableFunctionMap.cpp.
References llvm::SmallVectorImpl< T >::emplace_back(), and llvm::SmallVectorBase< Size_T >::size().
Referenced by llvm::StableFunctionMap::finalize().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().
|
static |
Referenced by isProfitable().