Go to the source code of this file.
|
static cl::opt< bool > | ForceSpecialization ("force-specialization", cl::init(false), cl::Hidden, cl::desc("Force function specialization for every call site with a constant " "argument")) |
|
static cl::opt< unsigned > | MaxClones ("funcspec-max-clones", cl::init(3), cl::Hidden, cl::desc("The maximum number of clones allowed for a single function " "specialization")) |
|
static cl::opt< unsigned > | MinFunctionSize ("funcspec-min-function-size", cl::init(100), cl::Hidden, cl::desc("Don't specialize functions that have less than this number of " "instructions")) |
|
static cl::opt< unsigned > | AvgLoopIters ("funcspec-avg-loop-iters", cl::init(10), cl::Hidden, cl::desc("Average loop iteration count")) |
|
static cl::opt< bool > | SpecializeOnAddress ("funcspec-on-address", cl::init(false), cl::Hidden, cl::desc("Enable function specialization on the address of global values")) |
|
static cl::opt< bool > | SpecializeLiteralConstant ("funcspec-for-literal-constant", cl::init(false), cl::Hidden, cl::desc("Enable specialization of functions that take a literal constant as an " "argument")) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "function-specialization" |
◆ cloneCandidateFunction()
◆ getUserBonus()
◆ removeSSACopy()
static void removeSSACopy |
( |
Function & |
F | ) |
|
|
static |
◆ STATISTIC()
STATISTIC |
( |
NumSpecsCreated |
, |
|
|
"Number of specializations created" |
|
|
) |
| |
◆ AvgLoopIters
cl::opt< unsigned > AvgLoopIters("funcspec-avg-loop-iters", cl::init(10), cl::Hidden, cl::desc( "Average loop iteration count")) |
( |
"funcspec-avg-loop-iters" |
, |
|
|
cl::init(10) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc( "Average loop iteration count") |
|
|
) |
| |
|
static |
◆ ForceSpecialization
cl::opt< bool > ForceSpecialization("force-specialization", cl::init(false), cl::Hidden, cl::desc( "Force function specialization for every call site with a constant " "argument")) |
( |
"force-specialization" |
, |
|
|
cl::init(false) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc( "Force function specialization for every call site with a constant " "argument") |
|
|
) |
| |
|
static |
◆ MaxClones
cl::opt< unsigned > MaxClones("funcspec-max-clones", cl::init(3), cl::Hidden, cl::desc( "The maximum number of clones allowed for a single function " "specialization")) |
( |
"funcspec-max-clones" |
, |
|
|
cl::init(3) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc( "The maximum number of clones allowed for a single function " "specialization") |
|
|
) |
| |
|
static |
◆ MinFunctionSize
cl::opt< unsigned > MinFunctionSize("funcspec-min-function-size", cl::init(100), cl::Hidden, cl::desc( "Don't specialize functions that have less than this number of " "instructions")) |
( |
"funcspec-min-function-size" |
, |
|
|
cl::init(100) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc( "Don't specialize functions that have less than this number of " "instructions") |
|
|
) |
| |
|
static |
◆ SpecializeLiteralConstant
cl::opt< bool > SpecializeLiteralConstant("funcspec-for-literal-constant", cl::init(false), cl::Hidden, cl::desc( "Enable specialization of functions that take a literal constant as an " "argument")) |
( |
"funcspec-for-literal-constant" |
, |
|
|
cl::init(false) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc( "Enable specialization of functions that take a literal constant as an " "argument") |
|
|
) |
| |
|
static |
◆ SpecializeOnAddress
cl::opt< bool > SpecializeOnAddress("funcspec-on-address", cl::init(false), cl::Hidden, cl::desc( "Enable function specialization on the address of global values")) |
( |
"funcspec-on-address" |
, |
|
|
cl::init(false) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc( "Enable function specialization on the address of global values") |
|
|
) |
| |
|
static |