|
LLVM
4.0.0
|
#include "llvm/ADT/MapVector.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/Statistic.h"#include "llvm/ADT/StringExtras.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/AliasSetTracker.h"#include "llvm/Analysis/ConstantFolding.h"#include "llvm/Analysis/GlobalsModRef.h"#include "llvm/Analysis/LoopAccessAnalysis.h"#include "llvm/Analysis/LoopInfo.h"#include "llvm/Analysis/LoopPass.h"#include "llvm/Analysis/ScalarEvolution.h"#include "llvm/Analysis/ScalarEvolutionExpander.h"#include "llvm/Analysis/TargetLibraryInfo.h"#include "llvm/Analysis/ValueTracking.h"#include "llvm/Analysis/VectorUtils.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/MDBuilder.h"#include "llvm/IR/PatternMatch.h"#include "llvm/IR/PredIteratorCache.h"#include "llvm/IR/Type.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Transforms/Scalar.h"#include "llvm/Transforms/Utils/BasicBlockUtils.h"#include "llvm/Transforms/Utils/Cloning.h"#include "llvm/Transforms/Utils/LoopUtils.h"#include "llvm/Transforms/Utils/LoopVersioning.h"#include "llvm/Transforms/Utils/ValueMapper.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "loop-versioning-licm" |
Functions | |
| static MDNode * | createStringMetadata (Loop *TheLoop, StringRef Name, unsigned V) |
| Create MDNode for input string. More... | |
| INITIALIZE_PASS_BEGIN (LoopVersioningLICM,"loop-versioning-licm","Loop Versioning For LICM", false, false) INITIALIZE_PASS_END(LoopVersioningLICM | |
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 94 of file LoopVersioningLICM.cpp.
Create MDNode for input string.
Definition at line 115 of file LoopVersioningLICM.cpp.
References Context, llvm::ConstantInt::get(), llvm::ConstantAsMetadata::get(), llvm::MDString::get(), llvm::MDNode::get(), llvm::LoopBase< N, M >::getHeader(), and llvm::Type::getInt32Ty().
Referenced by llvm::addStringMetadataToLoop().
| INITIALIZE_PASS_BEGIN | ( | LoopVersioningLICM | , |
| "loop-versioning-licm" | , | ||
| "Loop Versioning For LICM" | , | ||
| false | , | ||
| false | |||
| ) |
| loop versioning Loop Versioning For false |
Definition at line 575 of file LoopVersioningLICM.cpp.
| loop versioning licm |
Definition at line 575 of file LoopVersioningLICM.cpp.
| loop versioning Loop Versioning For LICM |
Definition at line 575 of file LoopVersioningLICM.cpp.
Referenced by llvm::LICMPass::run().
|
static |
Definition at line 95 of file LoopVersioningLICM.cpp.
|
static |
Threshold minimum allowed percentage for possible invariant instructions in a loop.
1.8.6