LLVM 20.0.0git
Namespaces | Macros | Variables
LoopVersioningLICM.cpp File Reference
#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/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/LoopUtils.h"
#include "llvm/Transforms/Utils/LoopVersioning.h"
#include <cassert>

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   "loop-versioning-licm"
 

Variables

static const charLICMVersioningMetaData = "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.
 
static cl::opt< unsignedLVLoopDepthThreshold ("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.
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "loop-versioning-licm"

Definition at line 90 of file LoopVersioningLICM.cpp.

Variable Documentation

◆ LICMVersioningMetaData

const char* LICMVersioningMetaData = "llvm.loop.licm_versioning.disable"
static

Definition at line 92 of file LoopVersioningLICM.cpp.

◆ LVInvarThreshold

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) ( "licm-versioning-invariant-threshold"  ,
cl::desc("LoopVersioningLICM's minimum allowed percentage" "of possible invariant instructions per loop")  ,
cl::init(25)  ,
cl::Hidden   
)
static

Threshold minimum allowed percentage for possible invariant instructions in a loop.

◆ LVLoopDepthThreshold

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) ( "licm-versioning-max-depth-threshold"  ,
cl::desc( "LoopVersioningLICM's threshold for maximum allowed loop nest/depth")  ,
cl::init(2)  ,
cl::Hidden   
)
static

Threshold for maximum allowed loop nest/depth.