LLVM
17.0.0git
|
#include "llvm/Transforms/Scalar/LoopVersioningLICM.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/AliasSetTracker.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/LoopAccessAnalysis.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/LoopPass.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Value.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Utils/LoopUtils.h"
#include "llvm/Transforms/Utils/LoopVersioning.h"
#include <cassert>
#include <memory>
Go to the source code of this file.
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "loop-versioning-licm" |
Functions | |
INITIALIZE_PASS_BEGIN (LoopVersioningLICMLegacyPass, "loop-versioning-licm", "Loop Versioning For LICM", false, false) INITIALIZE_PASS_END(LoopVersioningLICMLegacyPass | |
Variables | |
static const char * | LICMVersioningMetaData = "llvm.loop.licm_versioning.disable" |
static cl::opt< float > | LVInvarThreshold ("licm-versioning-invariant-threshold", cl::desc("LoopVersioningLICM's minimum allowed percentage" "of possible invariant instructions per loop"), cl::init(25), cl::Hidden) |
Threshold minimum allowed percentage for possible invariant instructions in a loop. More... | |
static cl::opt< unsigned > | LVLoopDepthThreshold ("licm-versioning-max-depth-threshold", cl::desc("LoopVersioningLICM's threshold for maximum allowed loop nest/depth"), cl::init(2), cl::Hidden) |
Threshold for maximum allowed loop nest/depth. More... | |
loop versioning | licm |
loop versioning Loop Versioning For | LICM |
loop versioning Loop Versioning For | false |
#define DEBUG_TYPE "loop-versioning-licm" |
Definition at line 95 of file LoopVersioningLICM.cpp.
INITIALIZE_PASS_BEGIN | ( | LoopVersioningLICMLegacyPass | , |
"loop-versioning-licm" | , | ||
"Loop Versioning For LICM" | , | ||
false | , | ||
false | |||
) |
Definition at line 628 of file LoopVersioningLICM.cpp.
loop versioning licm |
Definition at line 627 of file LoopVersioningLICM.cpp.
Definition at line 628 of file LoopVersioningLICM.cpp.
Referenced by llvm::LICMPass::run(), and llvm::LNICMPass::run().
|
static |
Definition at line 97 of file LoopVersioningLICM.cpp.
|
static |
Threshold minimum allowed percentage for possible invariant instructions in a loop.