LLVM 20.0.0git
|
A grouping of pointers. More...
#include "llvm/Analysis/LoopAccessAnalysis.h"
Public Member Functions | |
RuntimeCheckingPtrGroup (unsigned Index, const RuntimePointerChecking &RtCheck) | |
Create a new pointer checking group containing a single pointer, with index Index in RtCheck. | |
bool | addPointer (unsigned Index, const RuntimePointerChecking &RtCheck) |
Tries to add the pointer recorded in RtCheck at index Index to this pointer checking group. | |
bool | addPointer (unsigned Index, const SCEV *Start, const SCEV *End, unsigned AS, bool NeedsFreeze, ScalarEvolution &SE) |
Public Attributes | |
const SCEV * | High |
The SCEV expression which represents the upper bound of all the pointers in this group. | |
const SCEV * | Low |
The SCEV expression which represents the lower bound of all the pointers in this group. | |
SmallVector< unsigned, 2 > | Members |
Indices of all the pointers that constitute this grouping. | |
unsigned | AddressSpace |
Address space of the involved pointers. | |
bool | NeedsFreeze = false |
Whether the pointer needs to be frozen after expansion, e.g. | |
A grouping of pointers.
A single memcheck is required between two groups.
Definition at line 395 of file LoopAccessAnalysis.h.
RuntimeCheckingPtrGroup::RuntimeCheckingPtrGroup | ( | unsigned | Index, |
const RuntimePointerChecking & | RtCheck | ||
) |
Create a new pointer checking group containing a single pointer, with index Index
in RtCheck.
Definition at line 183 of file LoopAccessAnalysis.cpp.
References Members, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
bool RuntimeCheckingPtrGroup::addPointer | ( | unsigned | Index, |
const RuntimePointerChecking & | RtCheck | ||
) |
Tries to add the pointer recorded in RtCheck at index Index
to this pointer checking group.
We can only add a pointer to a checking group if we will still be able to get the upper and lower bounds of the check. Returns true in case of success, false otherwise.
Definition at line 421 of file LoopAccessAnalysis.cpp.
References addPointer(), and llvm::RuntimePointerChecking::Pointers.
Referenced by addPointer().
bool RuntimeCheckingPtrGroup::addPointer | ( | unsigned | Index, |
const SCEV * | Start, | ||
const SCEV * | End, | ||
unsigned | AS, | ||
bool | NeedsFreeze, | ||
ScalarEvolution & | SE | ||
) |
Definition at line 429 of file LoopAccessAnalysis.cpp.
References assert(), End, getMinFromExprs(), High, Low, Members, NeedsFreeze, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
unsigned llvm::RuntimeCheckingPtrGroup::AddressSpace |
Address space of the involved pointers.
Definition at line 419 of file LoopAccessAnalysis.h.
Referenced by expandBounds().
The SCEV expression which represents the upper bound of all the pointers in this group.
Definition at line 412 of file LoopAccessAnalysis.h.
Referenced by addPointer(), and expandBounds().
The SCEV expression which represents the lower bound of all the pointers in this group.
Definition at line 415 of file LoopAccessAnalysis.h.
Referenced by addPointer(), and expandBounds().
SmallVector<unsigned, 2> llvm::RuntimeCheckingPtrGroup::Members |
Indices of all the pointers that constitute this grouping.
Definition at line 417 of file LoopAccessAnalysis.h.
Referenced by addPointer(), and RuntimeCheckingPtrGroup().
bool llvm::RuntimeCheckingPtrGroup::NeedsFreeze = false |
Whether the pointer needs to be frozen after expansion, e.g.
because it may be poison outside the loop.
Definition at line 422 of file LoopAccessAnalysis.h.
Referenced by addPointer(), and expandBounds().