|
LLVM 22.0.0git
|
#include "llvm/CodeGen/ExpandMemCmp.h"#include "llvm/ADT/Statistic.h"#include "llvm/Analysis/ConstantFolding.h"#include "llvm/Analysis/DomTreeUpdater.h"#include "llvm/Analysis/LazyBlockFrequencyInfo.h"#include "llvm/Analysis/ProfileSummaryInfo.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Analysis/TargetTransformInfo.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/PatternMatch.h"#include "llvm/InitializePasses.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Transforms/Utils/BasicBlockUtils.h"#include "llvm/Transforms/Utils/Local.h"#include "llvm/Transforms/Utils/SizeOpts.h"#include <optional>Go to the source code of this file.
Namespaces | |
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
| #define | DEBUG_TYPE "expand-memcmp" |
Functions | |
| STATISTIC (NumMemCmpCalls, "Number of memcmp calls") | |
| STATISTIC (NumMemCmpNotConstant, "Number of memcmp calls without constant size") | |
| STATISTIC (NumMemCmpGreaterThanMax, "Number of memcmp calls with size greater than max size") | |
| STATISTIC (NumMemCmpInlined, "Number of inlined memcmp calls") | |
| INITIALIZE_PASS_BEGIN (ExpandMemCmpLegacyPass, DEBUG_TYPE, "Expand memcmp() to load/stores", false, false) INITIALIZE_PASS_END(ExpandMemCmpLegacyPass | |
| Expand | memcmp () to load/stores" |
Variables | |
| static 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.")) |
| static cl::opt< unsigned > | MaxLoadsPerMemcmp ("max-loads-per-memcmp", cl::Hidden, cl::desc("Set maximum number of loads used in expanded memcmp")) |
| static cl::opt< unsigned > | MaxLoadsPerMemcmpOptSize ("max-loads-per-memcmp-opt-size", cl::Hidden, cl::desc("Set maximum number of loads used in expanded memcmp for -Os/Oz")) |
| DEBUG_TYPE | |
| Expand | false |
| #define DEBUG_TYPE "expand-memcmp" |
Definition at line 42 of file ExpandMemCmp.cpp.
| INITIALIZE_PASS_BEGIN | ( | ExpandMemCmpLegacyPass | , |
| DEBUG_TYPE | , | ||
| "Expand memcmp() to load/stores" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE, and INITIALIZE_PASS_DEPENDENCY.
| Expand memcmp | ( | ) |
| STATISTIC | ( | NumMemCmpCalls | , |
| "Number of memcmp calls" | ) |
| STATISTIC | ( | NumMemCmpGreaterThanMax | , |
| "Number of memcmp calls with size greater than max size" | ) |
| STATISTIC | ( | NumMemCmpInlined | , |
| "Number of inlined memcmp calls" | ) |
| STATISTIC | ( | NumMemCmpNotConstant | , |
| "Number of memcmp calls without constant size" | ) |
| DEBUG_TYPE |
Definition at line 1019 of file ExpandMemCmp.cpp.
| Expand false |
Definition at line 1020 of file ExpandMemCmp.cpp.
|
static |
|
static |
|
static |