LLVM
8.0.1
|
A collection of metadata nodes that might be associated with a memory access used by the alias-analysis infrastructure. More...
#include "llvm/IR/Metadata.h"
Public Member Functions | |
AAMDNodes (MDNode *T=nullptr, MDNode *S=nullptr, MDNode *N=nullptr) | |
bool | operator== (const AAMDNodes &A) const |
bool | operator!= (const AAMDNodes &A) const |
operator bool () const | |
AAMDNodes | intersect (const AAMDNodes &Other) |
Given two sets of AAMDNodes that apply to the same pointer, give the best AAMDNodes that are compatible with both (i.e. More... | |
Public Attributes | |
MDNode * | TBAA |
The tag for type-based alias analysis. More... | |
MDNode * | Scope |
The tag for alias scope specification (used with noalias). More... | |
MDNode * | NoAlias |
The tag specifying the noalias scope. More... | |
A collection of metadata nodes that might be associated with a memory access used by the alias-analysis infrastructure.
Definition at line 644 of file Metadata.h.
|
inlineexplicit |
Definition at line 645 of file Metadata.h.
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.
Definition at line 671 of file Metadata.h.
References llvm::NoAlias, NoAlias, Scope, and TBAA.
|
inlineexplicit |
Definition at line 655 of file Metadata.h.
References llvm::NoAlias.
Definition at line 653 of file Metadata.h.
Definition at line 649 of file Metadata.h.
References llvm::NoAlias, NoAlias, Scope, and TBAA.
MDNode* llvm::AAMDNodes::NoAlias |
The tag specifying the noalias scope.
Definition at line 664 of file Metadata.h.
Referenced by llvm::ScopedNoAliasAAResult::alias(), llvm::Instruction::getAAMetadata(), llvm::DenseMapInfo< AAMDNodes >::getHashValue(), llvm::ScopedNoAliasAAResult::getModRefInfo(), intersect(), operator==(), llvm::MachineMemOperand::print(), and llvm::Instruction::setAAMetadata().
MDNode* llvm::AAMDNodes::Scope |
The tag for alias scope specification (used with noalias).
Definition at line 661 of file Metadata.h.
Referenced by llvm::ScopedNoAliasAAResult::alias(), llvm::Instruction::getAAMetadata(), llvm::DenseMapInfo< AAMDNodes >::getHashValue(), llvm::ScopedNoAliasAAResult::getModRefInfo(), intersect(), operator==(), llvm::MachineMemOperand::print(), and llvm::Instruction::setAAMetadata().
MDNode* llvm::AAMDNodes::TBAA |
The tag for type-based alias analysis.
Definition at line 658 of file Metadata.h.
Referenced by llvm::TypeBasedAAResult::alias(), llvm::Instruction::getAAMetadata(), llvm::DenseMapInfo< AAMDNodes >::getHashValue(), llvm::TypeBasedAAResult::getModRefInfo(), intersect(), operator==(), llvm::TypeBasedAAResult::pointsToConstantMemory(), llvm::MemoryDepChecker::Dependence::print(), llvm::MachineMemOperand::print(), and llvm::Instruction::setAAMetadata().