LLVM  14.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::RuntimeCheckingPtrGroup Struct Reference

A grouping of pointers. More...

#include "llvm/Analysis/LoopAccessAnalysis.h"

Collaboration diagram for llvm::RuntimeCheckingPtrGroup:
Collaboration graph
[legend]

Public Member Functions

 RuntimeCheckingPtrGroup (unsigned Index, RuntimePointerChecking &RtCheck)
 Create a new pointer checking group containing a single pointer, with index Index in RtCheck. More...
 
 RuntimeCheckingPtrGroup (unsigned Index, const SCEV *Start, const SCEV *End, unsigned AS)
 
bool addPointer (unsigned Index, RuntimePointerChecking &RtCheck)
 Tries to add the pointer recorded in RtCheck at index Index to this pointer checking group. More...
 
bool addPointer (unsigned Index, const SCEV *Start, const SCEV *End, unsigned AS, ScalarEvolution &SE)
 

Public Attributes

const SCEVHigh
 The SCEV expression which represents the upper bound of all the pointers in this group. More...
 
const SCEVLow
 The SCEV expression which represents the lower bound of all the pointers in this group. More...
 
SmallVector< unsigned, 2 > Members
 Indices of all the pointers that constitute this grouping. More...
 
unsigned AddressSpace
 Address space of the involved pointers. More...
 

Detailed Description

A grouping of pointers.

A single memcheck is required between two groups.

Definition at line 329 of file LoopAccessAnalysis.h.

Constructor & Destructor Documentation

◆ RuntimeCheckingPtrGroup() [1/2]

RuntimeCheckingPtrGroup::RuntimeCheckingPtrGroup ( unsigned  Index,
RuntimePointerChecking RtCheck 
)

Create a new pointer checking group containing a single pointer, with index Index in RtCheck.

Definition at line 170 of file LoopAccessAnalysis.cpp.

◆ RuntimeCheckingPtrGroup() [2/2]

llvm::RuntimeCheckingPtrGroup::RuntimeCheckingPtrGroup ( unsigned  Index,
const SCEV Start,
const SCEV End,
unsigned  AS 
)
inline

Definition at line 334 of file LoopAccessAnalysis.h.

Member Function Documentation

◆ addPointer() [1/2]

bool RuntimeCheckingPtrGroup::addPointer ( unsigned  Index,
const SCEV Start,
const SCEV End,
unsigned  AS,
ScalarEvolution SE 
)

Definition at line 291 of file LoopAccessAnalysis.cpp.

◆ addPointer() [2/2]

bool RuntimeCheckingPtrGroup::addPointer ( unsigned  Index,
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 283 of file LoopAccessAnalysis.cpp.

References Index, and llvm::RuntimePointerChecking::Pointers.

Member Data Documentation

◆ AddressSpace

unsigned llvm::RuntimeCheckingPtrGroup::AddressSpace

Address space of the involved pointers.

Definition at line 358 of file LoopAccessAnalysis.h.

Referenced by expandBounds().

◆ High

const SCEV* llvm::RuntimeCheckingPtrGroup::High

The SCEV expression which represents the upper bound of all the pointers in this group.

Definition at line 351 of file LoopAccessAnalysis.h.

◆ Low

const SCEV* llvm::RuntimeCheckingPtrGroup::Low

The SCEV expression which represents the lower bound of all the pointers in this group.

Definition at line 354 of file LoopAccessAnalysis.h.

◆ Members

SmallVector<unsigned, 2> llvm::RuntimeCheckingPtrGroup::Members

Indices of all the pointers that constitute this grouping.

Definition at line 356 of file LoopAccessAnalysis.h.


The documentation for this struct was generated from the following files: