Go to the source code of this file.
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "expand-memcmp" |
◆ INITIALIZE_PASS_BEGIN()
INITIALIZE_PASS_BEGIN |
( |
ExpandMemCmpLegacyPass |
, |
|
|
DEBUG_TYPE |
, |
|
|
"Expand memcmp() to load/stores" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
◆ memcmp()
◆ STATISTIC() [1/4]
STATISTIC |
( |
NumMemCmpCalls |
, |
|
|
"Number of memcmp calls" |
|
|
) |
| |
◆ STATISTIC() [2/4]
STATISTIC |
( |
NumMemCmpGreaterThanMax |
, |
|
|
"Number of memcmp calls with size greater than max size" |
|
|
) |
| |
◆ STATISTIC() [3/4]
STATISTIC |
( |
NumMemCmpInlined |
, |
|
|
"Number of inlined memcmp calls" |
|
|
) |
| |
◆ STATISTIC() [4/4]
STATISTIC |
( |
NumMemCmpNotConstant |
, |
|
|
"Number of memcmp calls without constant size" |
|
|
) |
| |
◆ DEBUG_TYPE
◆ false
◆ MaxLoadsPerMemcmp
cl::opt< unsigned > MaxLoadsPerMemcmp("max-loads-per-memcmp", cl::Hidden, cl::desc("Set maximum number of loads used in expanded memcmp")) |
( |
"max-loads-per-memcmp" |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Set maximum number of loads used in expanded memcmp") |
|
|
) |
| |
|
static |
◆ MaxLoadsPerMemcmpOptSize
◆ MemCmpEqZeroNumLoadsPerBlock
cl::opt< unsigned > MemCmpEqZeroNumLoadsPerBlock("memcmp-num-loads-per-block", cl::Hidden, cl::init(1), cl::desc("The number of loads per basic block for inline expansion of " "memcmp that is only being compared against zero.")) |
( |
"memcmp-num-loads-per-block" |
, |
|
|
cl::Hidden |
, |
|
|
cl::init(1) |
, |
|
|
cl::desc("The number of loads per basic block for inline expansion of " "memcmp that is only being compared against zero.") |
|
|
) |
| |
|
static |