struct AAMDNodes

Declaration

struct AAMDNodes { /* full declaration omitted */ };

Description

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

Declared at: llvm/include/llvm/IR/Metadata.h:644

Member Variables

public llvm::MDNode* TBAA = nullptr
The tag for type-based alias analysis.
public llvm::MDNode* TBAAStruct = nullptr
The tag for type-based alias analysis (tbaa struct).
public llvm::MDNode* Scope = nullptr
The tag for alias scope specification (used with noalias).
public llvm::MDNode* NoAlias = nullptr
The tag specifying the noalias scope.

Method Overview

  • public AAMDNodes()
  • public AAMDNodes(llvm::MDNode * T, llvm::MDNode * TS, llvm::MDNode * S, llvm::MDNode * N)
  • public llvm::AAMDNodes intersect(const llvm::AAMDNodes & Other)
  • public bool operator bool() const

Methods

AAMDNodes()

Declared at: llvm/include/llvm/IR/Metadata.h:645

AAMDNodes(llvm::MDNode* T,
          llvm::MDNode* TS,
          llvm::MDNode* S,
          llvm::MDNode* N)

Declared at: llvm/include/llvm/IR/Metadata.h:646

Parameters

llvm::MDNode* T
llvm::MDNode* TS
llvm::MDNode* S
llvm::MDNode* N

llvm::AAMDNodes intersect(
    const llvm::AAMDNodes& Other)

Description

Given two sets of AAMDNodes that apply to the same pointer, give the best AAMDNodes that are compatible with both (i.e. a set of nodes whose allowable aliasing conclusions are a subset of those allowable by both of the inputs). However, for efficiency reasons, do not create any new MDNodes.

Declared at: llvm/include/llvm/IR/Metadata.h:677

Parameters

const llvm::AAMDNodes& Other

bool operator bool() const

Declared at: llvm/include/llvm/IR/Metadata.h:656