A collection of metadata nodes that might be associated with a memory access used by the alias‐analysis infrastructure.

Synopsis

Declared in <llvm/IR/Metadata.h>

struct AAMDNodes;

Member Functions

Name

Description

AAMDNodes [constructor]

Constructors

adjustForAccess

adjustForAccess overloads

concat

Concatenate AAMDNodes for adjacent, non‐overlapping locations.

extendTo

Create a new AAMDNode after extending coverage to Len bytes.

intersect

Intersect two AAMDNodes sets that apply to the same pointer.

merge

Merge AAMDNodes that apply to potentially different locations.

shift

Create a new AAMDNode after applying a constant offset to the pointer.

operator bool

Return true if any alias‐analysis metadata field is non‐null.

operator==

Return true if all alias‐analysis metadata fields equal those of A.

operator!=

Return true if any alias‐analysis metadata field differs from A.

Static Member Functions

Name

Description

extendToTBAA

Extend TBAA metadata to cover len bytes (‐1 means unknown size).

shiftTBAA

Shift TBAA metadata so it starts off bytes later.

shiftTBAAStruct

Shift tbaa.struct metadata so it starts off bytes later.

Data Members

Name

Description

NoAlias

The tag specifying the noalias scope.

NoAliasAddrSpace

The tag specifying the noalias address spaces.

Scope

The tag for alias scope specification (used with noalias).

TBAA

The tag for type‐based alias analysis.

TBAAStruct

The tag for type‐based alias analysis (tbaa struct).

Created with MrDocs