|
LLVM 22.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 233 of file LoopDataPrefetch.cpp.
|
inline |
Constructor to create a new Prefetch for I.
Definition at line 244 of file LoopDataPrefetch.cpp.
References addInstruction(), I, and LSCEVAddRec.
|
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 252 of file LoopDataPrefetch.cpp.
References llvm::DominatorTree::findNearestCommonDominator(), llvm::BasicBlock::getTerminator(), I, InsertPt, llvm::isa(), MemI, and Writes.
Referenced by Prefetch().
| Instruction* Prefetch::InsertPt = nullptr |
The point of insertion for the prefetch instruction.
Definition at line 237 of file LoopDataPrefetch.cpp.
Referenced by addInstruction().
| const SCEVAddRecExpr* Prefetch::LSCEVAddRec |
The address formula for this prefetch as returned by ScalarEvolution.
Definition at line 235 of file LoopDataPrefetch.cpp.
Referenced by Prefetch().
| Instruction* Prefetch::MemI = nullptr |
The (first seen) prefetched instruction.
Definition at line 241 of file LoopDataPrefetch.cpp.
Referenced by addInstruction().
True if targeting a write memory access.
Definition at line 239 of file LoopDataPrefetch.cpp.
Referenced by addInstruction().