LLVM
8.0.1
|
A simple AA result that uses TBAA metadata to answer queries. More...
#include "Target/AMDGPU/AMDGPUAliasAnalysis.h"
Public Member Functions | |
AMDGPUAAResult (const DataLayout &DL, Triple T) | |
AMDGPUAAResult (AMDGPUAAResult &&Arg) | |
bool | invalidate (Function &, const PreservedAnalyses &) |
Handle invalidation events from the new pass manager. More... | |
AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
bool | pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal) |
Public Member Functions inherited from llvm::AAResultBase< AMDGPUAAResult > | |
AliasResult | alias (const MemoryLocation &LocA, const MemoryLocation &LocB) |
bool | pointsToConstantMemory (const MemoryLocation &Loc, bool OrLocal) |
ModRefInfo | getArgModRefInfo (const CallBase *Call, unsigned ArgIdx) |
FunctionModRefBehavior | getModRefBehavior (const CallBase *Call) |
FunctionModRefBehavior | getModRefBehavior (const Function *F) |
ModRefInfo | getModRefInfo (const CallBase *Call, const MemoryLocation &Loc) |
ModRefInfo | getModRefInfo (const CallBase *Call1, const CallBase *Call2) |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::AAResultBase< AMDGPUAAResult > | |
AAResultBase ()=default | |
AAResultBase (const AAResultBase &Arg) | |
AAResultBase (AAResultBase &&Arg) | |
AAResultsProxy | getBestAAResults () |
Get a proxy for the best AA result set to query at this time. More... | |
A simple AA result that uses TBAA metadata to answer queries.
Definition at line 32 of file AMDGPUAliasAnalysis.h.
|
inlineexplicit |
Definition at line 38 of file AMDGPUAliasAnalysis.h.
Referenced by llvm::AMDGPUAAWrapperPass::doInitialization(), and llvm::AMDGPUAA::run().
|
inline |
Definition at line 40 of file AMDGPUAliasAnalysis.h.
AliasResult AMDGPUAAResult::alias | ( | const MemoryLocation & | LocA, |
const MemoryLocation & | LocB | ||
) |
Definition at line 78 of file AMDGPUAliasAnalysis.cpp.
References llvm::AAResultBase< DerivedT >::alias(), getAliasResult(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), llvm::NoAlias, and llvm::MemoryLocation::Ptr.
Referenced by invalidate().
|
inline |
Handle invalidation events from the new pass manager.
By definition, this result is stateless and so remains valid.
Definition at line 46 of file AMDGPUAliasAnalysis.h.
References alias(), B, and pointsToConstantMemory().
bool AMDGPUAAResult::pointsToConstantMemory | ( | const MemoryLocation & | Loc, |
bool | OrLocal | ||
) |
Definition at line 91 of file AMDGPUAliasAnalysis.cpp.
References llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, Arg, AMDGPUAS::CONSTANT_ADDRESS, AMDGPUAS::CONSTANT_ADDRESS_32BIT, F(), llvm::Function::getCallingConv(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), llvm::GetUnderlyingObject(), llvm::Function::hasParamAttribute(), llvm::Attribute::NoAlias, llvm::AAResultBase< DerivedT >::pointsToConstantMemory(), llvm::MemoryLocation::Ptr, llvm::Attribute::ReadNone, llvm::Attribute::ReadOnly, and llvm::CallingConv::SPIR_KERNEL.
Referenced by invalidate().