struct RuntimePointerChecking::CheckingPtrGroup

Declaration

struct RuntimePointerChecking::CheckingPtrGroup { /* full declaration omitted */ };

Description

A grouping of pointers. A single memcheck is required between two groups.

Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:386

Member Variables

public llvm::RuntimePointerChecking& RtCheck
Constitutes the context of this pointer checking group. For each pointer that is a member of this group we will retain the index at which it appears in RtCheck.
public const llvm::SCEV* High
The SCEV expression which represents the upper bound of all the pointers in this group.
public const llvm::SCEV* Low
The SCEV expression which represents the lower bound of all the pointers in this group.
public SmallVector<unsigned int, 2> Members
Indices of all the pointers that constitute this grouping.

Method Overview

Methods

CheckingPtrGroup(
    unsigned int Index,
    llvm::RuntimePointerChecking& RtCheck)

Description

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

Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:389

Parameters

unsigned int Index
llvm::RuntimePointerChecking& RtCheck

bool addPointer(unsigned int Index)

Description

Tries to add the pointer recorded in RtCheck at index\p 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.

Declared at: llvm/include/llvm/Analysis/LoopAccessAnalysis.h:400

Parameters

unsigned int Index