[#llvm-getStartAndEndForAccess-09] = xref:llvm.adoc[llvm]::getStartAndEndForAccess :relfileprefix: ../ :mrdocs: Overload of getStartAndEndForAccess taking the element size as a SCEV. == Synopsis Declared in `<llvm/Analysis/LoopAccessAnalysis.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- std::pair<SCEV const*, SCEV const*> getStartAndEndForAccess( xref:llvm/Loop.adoc[Loop] const* Lp, xref:llvm/SCEV.adoc[SCEV] const* PtrExpr, xref:llvm/SCEV.adoc[SCEV] const* EltSizeSCEV, xref:llvm/SCEV.adoc[SCEV] const* BTC, xref:llvm/SCEV.adoc[SCEV] const* MaxBTC, xref:llvm/ScalarEvolution.adoc[ScalarEvolution]* SE, xref:llvm/DenseMap-0c.adoc[DenseMap<std::pair<SCEV const*, SCEV const*>, std::pair<SCEV const*, SCEV const*>>]* PointerBounds, xref:llvm/DominatorTree.adoc[DominatorTree]* DT, xref:llvm/AssumptionCache.adoc[AssumptionCache]* AC, std::optional<ScalarEvolution::LoopGuards>& LoopGuards); ---- == Return Value The start and end SCEVs of the accessed memory region. == Parameters [cols="1,4"] |=== | Name| Description | *Lp* | Loop in which the access executes. | *PtrExpr* | SCEV for the pointer being accessed. | *EltSizeSCEV* | SCEV for the access size in bytes. | *BTC* | Exact backedge‐taken count when available. | *MaxBTC* | Maximum backedge‐taken count used as a fallback. | *SE* | ScalarEvolution used to compute start and end expressions. | *PointerBounds* | Optional cache of previously computed bounds. | *DT* | Dominator tree used for context‐sensitive reasoning. | *AC* | Assumption cache used to strengthen proofs. | *LoopGuards* | Cached loop guards used while computing bounds. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#