LLVM 24.0.0git
llvm::RuntimePointerChecking::PointerInfo Struct Reference

#include "llvm/Analysis/LoopAccessAnalysis.h"

Public Member Functions

 PointerInfo (Value *PointerValue, const SCEV *Start, const SCEV *End, bool IsWritePtr, unsigned DependencySetId, unsigned AliasSetId, const SCEV *Expr, bool NeedsFreeze, bool IsForked)

Public Attributes

TrackingVH< Value > PointerValue
 Holds the pointer value that we need to check.
const SCEV * Start
 Holds the smallest byte address accessed by the pointer throughout all iterations of the loop.
const SCEV * End
 Holds the largest byte address accessed by the pointer throughout all iterations of the loop, plus 1.
bool IsWritePtr
 Holds the information if this pointer is used for writing to memory.
unsigned DependencySetId
 Holds the id of the set of pointers that could be dependent because of a shared underlying object.
unsigned AliasSetId
 Holds the id of the disjoint alias set to which this pointer belongs.
const SCEV * Expr
 SCEV for the access.
bool NeedsFreeze
 True if the pointer expressions needs to be frozen after expansion.
bool IsForked
 True if this entry represents one arm of a forked pointer.

Detailed Description

Definition at line 553 of file LoopAccessAnalysis.h.

Constructor & Destructor Documentation

◆ PointerInfo()

llvm::RuntimePointerChecking::PointerInfo::PointerInfo ( Value * PointerValue,
const SCEV * Start,
const SCEV * End,
bool IsWritePtr,
unsigned DependencySetId,
unsigned AliasSetId,
const SCEV * Expr,
bool NeedsFreeze,
bool IsForked )
inline

Member Data Documentation

◆ AliasSetId

unsigned llvm::RuntimePointerChecking::PointerInfo::AliasSetId

Holds the id of the disjoint alias set to which this pointer belongs.

Definition at line 568 of file LoopAccessAnalysis.h.

Referenced by llvm::RuntimePointerChecking::needsChecking(), and PointerInfo().

◆ DependencySetId

unsigned llvm::RuntimePointerChecking::PointerInfo::DependencySetId

Holds the id of the set of pointers that could be dependent because of a shared underlying object.

Definition at line 566 of file LoopAccessAnalysis.h.

Referenced by llvm::RuntimePointerChecking::needsChecking(), and PointerInfo().

◆ End

const SCEV* llvm::RuntimePointerChecking::PointerInfo::End

Holds the largest byte address accessed by the pointer throughout all iterations of the loop, plus 1.

Definition at line 561 of file LoopAccessAnalysis.h.

Referenced by PointerInfo().

◆ Expr

const SCEV* llvm::RuntimePointerChecking::PointerInfo::Expr

SCEV for the access.

Definition at line 570 of file LoopAccessAnalysis.h.

Referenced by PointerInfo().

◆ IsForked

bool llvm::RuntimePointerChecking::PointerInfo::IsForked

True if this entry represents one arm of a forked pointer.

Definition at line 574 of file LoopAccessAnalysis.h.

Referenced by PointerInfo().

◆ IsWritePtr

bool llvm::RuntimePointerChecking::PointerInfo::IsWritePtr

Holds the information if this pointer is used for writing to memory.

Definition at line 563 of file LoopAccessAnalysis.h.

Referenced by llvm::RuntimePointerChecking::needsChecking(), and PointerInfo().

◆ NeedsFreeze

bool llvm::RuntimePointerChecking::PointerInfo::NeedsFreeze

True if the pointer expressions needs to be frozen after expansion.

Definition at line 572 of file LoopAccessAnalysis.h.

Referenced by PointerInfo().

◆ PointerValue

TrackingVH<Value> llvm::RuntimePointerChecking::PointerInfo::PointerValue

Holds the pointer value that we need to check.

Definition at line 555 of file LoopAccessAnalysis.h.

Referenced by PointerInfo(), and llvm::LoopVersioning::prepareNoAliasMetadata().

◆ Start

const SCEV* llvm::RuntimePointerChecking::PointerInfo::Start

Holds the smallest byte address accessed by the pointer throughout all iterations of the loop.

Definition at line 558 of file LoopAccessAnalysis.h.

Referenced by PointerInfo().


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