LLVM 20.0.0git
|
A record for a potential prefetch made during the initial scan of the loop. More...
Public Member Functions | |
Prefetch (const SCEVAddRecExpr *L, Instruction *I) | |
Constructor to create a new Prefetch for I . | |
void | addInstruction (Instruction *I, DominatorTree *DT=nullptr, int64_t PtrDiff=0) |
Add the instruction. | |
Public Attributes | |
const SCEVAddRecExpr * | LSCEVAddRec |
The address formula for this prefetch as returned by ScalarEvolution. | |
Instruction * | InsertPt = nullptr |
The point of insertion for the prefetch instruction. | |
bool | Writes = false |
True if targeting a write memory access. | |
Instruction * | MemI = nullptr |
The (first seen) prefetched instruction. | |
A record for a potential prefetch made during the initial scan of the loop.
This is used to let a single prefetch target multiple memory accesses.
Definition at line 234 of file LoopDataPrefetch.cpp.
|
inline |
Constructor to create a new Prefetch for I
.
Definition at line 245 of file LoopDataPrefetch.cpp.
References I.
|
inline |
Add the instruction.
I | to this prefetch. If it's not the first one, 'InsertPt' and 'Writes' will be updated as required. |
PtrDiff | the known constant address difference to the first added instruction. |
Definition at line 253 of file LoopDataPrefetch.cpp.
References llvm::DominatorTree::findNearestCommonDominator(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::BasicBlock::getTerminator(), I, and Writes.
Instruction* Prefetch::InsertPt = nullptr |
The point of insertion for the prefetch instruction.
Definition at line 238 of file LoopDataPrefetch.cpp.
const SCEVAddRecExpr* Prefetch::LSCEVAddRec |
The address formula for this prefetch as returned by ScalarEvolution.
Definition at line 236 of file LoopDataPrefetch.cpp.
Instruction* Prefetch::MemI = nullptr |
The (first seen) prefetched instruction.
Definition at line 242 of file LoopDataPrefetch.cpp.
True if targeting a write memory access.
Definition at line 240 of file LoopDataPrefetch.cpp.