LLVM 22.0.0git
PGOMemOPSizeOpt.cpp File Reference

Go to the source code of this file.

Macros

#define INSTR_PROF_VALUE_PROF_MEMOP_API
#define DEBUG_TYPE   "pgo-memop-opt"

Functions

 STATISTIC (NumOfPGOMemOPOpt, "Number of memop intrinsics optimized.")
 STATISTIC (NumOfPGOMemOPAnnotate, "Number of memop intrinsics annotated.")
static bool PGOMemOPSizeOptImpl (Function &F, BlockFrequencyInfo &BFI, OptimizationRemarkEmitter &ORE, DominatorTree *DT, TargetLibraryInfo &TLI)

Variables

static cl::opt< unsignedMemOPCountThreshold ("pgo-memop-count-threshold", cl::Hidden, cl::init(1000), cl::desc("The minimum count to optimize memory " "intrinsic calls"))
static cl::opt< boolDisableMemOPOPT ("disable-memop-opt", cl::init(false), cl::Hidden, cl::desc("Disable optimize"))
static cl::opt< unsignedMemOPPercentThreshold ("pgo-memop-percent-threshold", cl::init(40), cl::Hidden, cl::desc("The percentage threshold for the " "memory intrinsic calls optimization"))
static cl::opt< unsignedMemOPMaxVersion ("pgo-memop-max-version", cl::init(3), cl::Hidden, cl::desc("The max version for the optimized memory " " intrinsic calls"))
static cl::opt< boolMemOPScaleCount ("pgo-memop-scale-count", cl::init(true), cl::Hidden, cl::desc("Scale the memop size counts using the basic " " block count value"))
cl::opt< boolMemOPOptMemcmpBcmp ("pgo-memop-optimize-memcmp-bcmp", cl::init(true), cl::Hidden, cl::desc("Size-specialize memcmp and bcmp calls"))
static cl::opt< unsignedMemOpMaxOptSize ("memop-value-prof-max-opt-size", cl::Hidden, cl::init(128), cl::desc("Optimize the memop size <= this value"))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "pgo-memop-opt"

Definition at line 52 of file PGOMemOPSizeOpt.cpp.

◆ INSTR_PROF_VALUE_PROF_MEMOP_API

#define INSTR_PROF_VALUE_PROF_MEMOP_API

Definition at line 37 of file PGOMemOPSizeOpt.cpp.

Function Documentation

◆ PGOMemOPSizeOptImpl()

bool PGOMemOPSizeOptImpl ( Function & F,
BlockFrequencyInfo & BFI,
OptimizationRemarkEmitter & ORE,
DominatorTree * DT,
TargetLibraryInfo & TLI )
static

Definition at line 453 of file PGOMemOPSizeOpt.cpp.

References DisableMemOPOPT, and F.

Referenced by llvm::PGOMemOPSizeOpt::run().

◆ STATISTIC() [1/2]

STATISTIC ( NumOfPGOMemOPAnnotate ,
"Number of memop intrinsics annotated."  )

◆ STATISTIC() [2/2]

STATISTIC ( NumOfPGOMemOPOpt ,
"Number of memop intrinsics optimized."  )

Variable Documentation

◆ DisableMemOPOPT

cl::opt< bool > DisableMemOPOPT("disable-memop-opt", cl::init(false), cl::Hidden, cl::desc("Disable optimize")) ( "disable-memop-opt" ,
cl::init(false) ,
cl::Hidden ,
cl::desc("Disable optimize")  )
static

Referenced by PGOMemOPSizeOptImpl().

◆ MemOPCountThreshold

cl::opt< unsigned > MemOPCountThreshold("pgo-memop-count-threshold", cl::Hidden, cl::init(1000), cl::desc("The minimum count to optimize memory " "intrinsic calls")) ( "pgo-memop-count-threshold" ,
cl::Hidden ,
cl::init(1000) ,
cl::desc("The minimum count to optimize memory " "intrinsic calls")  )
static

◆ MemOpMaxOptSize

cl::opt< unsigned > MemOpMaxOptSize("memop-value-prof-max-opt-size", cl::Hidden, cl::init(128), cl::desc("Optimize the memop size <= this value")) ( "memop-value-prof-max-opt-size" ,
cl::Hidden ,
cl::init(128) ,
cl::desc("Optimize the memop size <= this value")  )
static

◆ MemOPMaxVersion

cl::opt< unsigned > MemOPMaxVersion("pgo-memop-max-version", cl::init(3), cl::Hidden, cl::desc("The max version for the optimized memory " " intrinsic calls")) ( "pgo-memop-max-version" ,
cl::init(3) ,
cl::Hidden ,
cl::desc("The max version for the optimized memory " " intrinsic calls")  )
static

◆ MemOPOptMemcmpBcmp

cl::opt< bool > MemOPOptMemcmpBcmp("pgo-memop-optimize-memcmp-bcmp", cl::init(true), cl::Hidden, cl::desc("Size-specialize memcmp and bcmp calls")) ( "pgo-memop-optimize-memcmp-bcmp" ,
cl::init(true) ,
cl::Hidden ,
cl::desc("Size-specialize memcmp and bcmp calls")  )

◆ MemOPPercentThreshold

cl::opt< unsigned > MemOPPercentThreshold("pgo-memop-percent-threshold", cl::init(40), cl::Hidden, cl::desc("The percentage threshold for the " "memory intrinsic calls optimization")) ( "pgo-memop-percent-threshold" ,
cl::init(40) ,
cl::Hidden ,
cl::desc("The percentage threshold for the " "memory intrinsic calls optimization")  )
static

◆ MemOPScaleCount

cl::opt< bool > MemOPScaleCount("pgo-memop-scale-count", cl::init(true), cl::Hidden, cl::desc("Scale the memop size counts using the basic " " block count value")) ( "pgo-memop-scale-count" ,
cl::init(true) ,
cl::Hidden ,
cl::desc("Scale the memop size counts using the basic " " block count value")  )
static