LLVM 19.0.0git
Classes | Macros | Functions | Variables
LoopDataPrefetch.cpp File Reference
#include "llvm/Transforms/Scalar/LoopDataPrefetch.h"
#include "llvm/InitializePasses.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/CodeMetrics.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils.h"
#include "llvm/Transforms/Utils/ScalarEvolutionExpander.h"

Go to the source code of this file.

Classes

struct  Prefetch
 A record for a potential prefetch made during the initial scan of the loop. More...
 

Macros

#define DEBUG_TYPE   "loop-data-prefetch"
 

Functions

 STATISTIC (NumPrefetches, "Number of prefetches inserted")
 
 INITIALIZE_PASS_BEGIN (LoopDataPrefetchLegacyPass, "loop-data-prefetch", "Loop Data Prefetch", false, false) INITIALIZE_PASS_END(LoopDataPrefetchLegacyPass
 

Variables

static cl::opt< boolPrefetchWrites ("loop-prefetch-writes", cl::Hidden, cl::init(false), cl::desc("Prefetch write addresses"))
 
static cl::opt< unsignedPrefetchDistance ("prefetch-distance", cl::desc("Number of instructions to prefetch ahead"), cl::Hidden)
 
static cl::opt< unsignedMinPrefetchStride ("min-prefetch-stride", cl::desc("Min stride to add prefetches"), cl::Hidden)
 
static cl::opt< unsignedMaxPrefetchIterationsAhead ("max-prefetch-iters-ahead", cl::desc("Max number of iterations to prefetch ahead"), cl::Hidden)
 
loop data prefetch
 
loop data Loop Data Prefetch
 
loop data Loop Data false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "loop-data-prefetch"

Definition at line 34 of file LoopDataPrefetch.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( LoopDataPrefetchLegacyPass  ,
"loop-data-prefetch"  ,
"Loop Data Prefetch"  ,
false  ,
false   
)

◆ STATISTIC()

STATISTIC ( NumPrefetches  ,
"Number of prefetches inserted"   
)

Variable Documentation

◆ false

loop data Loop Data false

Definition at line 150 of file LoopDataPrefetch.cpp.

◆ MaxPrefetchIterationsAhead

cl::opt< unsigned > MaxPrefetchIterationsAhead("max-prefetch-iters-ahead", cl::desc("Max number of iterations to prefetch ahead"), cl::Hidden) ( "max-prefetch-iters-ahead"  ,
cl::desc("Max number of iterations to prefetch ahead")  ,
cl::Hidden   
)
static

◆ MinPrefetchStride

cl::opt< unsigned > MinPrefetchStride("min-prefetch-stride", cl::desc("Min stride to add prefetches"), cl::Hidden) ( "min-prefetch-stride"  ,
cl::desc("Min stride to add prefetches")  ,
cl::Hidden   
)
static

◆ prefetch

loop data prefetch

Definition at line 149 of file LoopDataPrefetch.cpp.

◆ Prefetch

loop data Loop Data Prefetch

Definition at line 150 of file LoopDataPrefetch.cpp.

◆ PrefetchDistance

cl::opt< unsigned > PrefetchDistance("prefetch-distance", cl::desc("Number of instructions to prefetch ahead"), cl::Hidden) ( "prefetch-distance"  ,
cl::desc("Number of instructions to prefetch ahead")  ,
cl::Hidden   
)
static

◆ PrefetchWrites

cl::opt< bool > PrefetchWrites("loop-prefetch-writes", cl::Hidden, cl::init(false), cl::desc("Prefetch write addresses")) ( "loop-prefetch-writes"  ,
cl::Hidden  ,
cl::init(false)  ,
cl::desc("Prefetch write addresses")   
)
static