LLVM 19.0.0git
Namespaces | Macros | Functions | Variables
AliasAnalysis.cpp File Reference
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/BasicAliasAnalysis.h"
#include "llvm/Analysis/CaptureTracking.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/MemoryLocation.h"
#include "llvm/Analysis/ObjCARCAliasAnalysis.h"
#include "llvm/Analysis/ScalarEvolutionAliasAnalysis.h"
#include "llvm/Analysis/ScopedNoAliasAA.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/TypeBasedAliasAnalysis.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include <algorithm>
#include <cassert>
#include <functional>
#include <iterator>

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define DEBUG_TYPE   "aa"
 

Functions

 STATISTIC (NumNoAlias, "Number of NoAlias results")
 
 STATISTIC (NumMayAlias, "Number of MayAlias results")
 
 STATISTIC (NumMustAlias, "Number of MustAlias results")
 
 INITIALIZE_PASS (ExternalAAWrapperPass, "external-aa", "External Alias Analysis", false, true) ImmutablePass *llvm
 
 INITIALIZE_PASS_BEGIN (AAResultsWrapperPass, "aa", "Function Alias Analysis Results", false, true) INITIALIZE_PASS_END(AAResultsWrapperPass
 
static bool isNoAliasOrByValArgument (const Value *V)
 

Variables

cl::opt< boolllvm::DisableBasicAA ("disable-basic-aa", cl::Hidden, cl::init(false))
 Allow disabling BasicAA from the AA results.
 
static cl::opt< boolEnableAATrace ("aa-trace", cl::Hidden, cl::init(false))
 Print a trace of alias analysis queries and their results.
 
 aa
 
Function Alias Analysis Results
 
Function Alias Analysis false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aa"

Definition at line 55 of file AliasAnalysis.cpp.

Function Documentation

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( ExternalAAWrapperPass  ,
"external-aa"  ,
"External Alias Analysis"  ,
false  ,
true   
)

Definition at line 746 of file AliasAnalysis.cpp.

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( AAResultsWrapperPass  ,
"aa"  ,
"Function Alias Analysis Results"  ,
false  ,
true   
)

◆ isNoAliasOrByValArgument()

static bool isNoAliasOrByValArgument ( const Value V)
static

Definition at line 845 of file AliasAnalysis.cpp.

References A.

Referenced by llvm::isIdentifiedFunctionLocal(), and llvm::isIdentifiedObject().

◆ STATISTIC() [1/3]

STATISTIC ( NumMayAlias  ,
"Number of MayAlias results"   
)

◆ STATISTIC() [2/3]

STATISTIC ( NumMustAlias  ,
"Number of MustAlias results"   
)

◆ STATISTIC() [3/3]

STATISTIC ( NumNoAlias  ,
"Number of NoAlias results"   
)

Variable Documentation

◆ aa

aa

◆ EnableAATrace

cl::opt< bool > EnableAATrace("aa-trace", cl::Hidden, cl::init(false)) ( "aa-trace"  ,
cl::Hidden  ,
cl::init(false)   
)
static

Print a trace of alias analysis queries and their results.

Referenced by llvm::AAResults::alias().

◆ false

AMDGPU promote alloca to vector or false DEBUG_TYPE to AMDGPU promote alloca to false

Definition at line 769 of file AliasAnalysis.cpp.

◆ Results

Function Alias Analysis Results

Definition at line 769 of file AliasAnalysis.cpp.

Referenced by llvm::WebAssemblyFunctionInfo::addResult(), llvm::MachineIRBuilder::buildIntrinsic(), llvm::WebAssemblyFunctionInfo::clearParamsAndResults(), llvm::computeSignatureVTs(), createTblForTrunc(), CustomNonLegalBITCASTResults(), emitConstantSizeRepmov(), llvm::WebAssemblyAsmPrinter::emitDecls(), emitErrorAndReplaceIntrinsicResults(), expandIntrinsicWChainHelper(), ExpandREAD_REGISTER(), getReadTimeStampCounter(), llvm::AssignmentTrackingAnalysis::getResults(), llvm::WebAssemblyFunctionInfo::getResults(), initializeUniqueCases(), llvm::isOverflowIntrinsicNoWrap(), llvm::ARMLegalizerInfo::legalizeCustom(), LowerINTRINSIC_W_CHAIN(), llvm::TargetLowering::LowerOperationWrapper(), llvm::HexagonTargetLowering::LowerOperationWrapper(), llvm::SystemZTargetLowering::LowerOperationWrapper(), LowerREADCYCLECOUNTER(), llvm::AMDGPUTargetLowering::LowerUDIVREM(), llvm::AMDGPUTargetLowering::LowerUDIVREM64(), llvm::MachO::DylibReader::readFile(), ReplaceAddWithADDP(), ReplaceATOMIC_LOAD_128Results(), replaceBoolVectorBitcast(), ReplaceCMP_SWAP_128Results(), ReplaceCMP_SWAP_64Results(), ReplaceINTRINSIC_W_CHAIN(), replaceINTRINSIC_WO_CHAINResults(), ReplaceLoadVector(), ReplaceLongIntrinsic(), llvm::AMDGPUTargetLowering::ReplaceNodeResults(), llvm::R600TargetLowering::ReplaceNodeResults(), llvm::SITargetLowering::ReplaceNodeResults(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::AVRTargetLowering::ReplaceNodeResults(), llvm::HexagonTargetLowering::ReplaceNodeResults(), llvm::LoongArchTargetLowering::ReplaceNodeResults(), llvm::MipsTargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::RISCVTargetLowering::ReplaceNodeResults(), llvm::SparcTargetLowering::ReplaceNodeResults(), llvm::SystemZTargetLowering::ReplaceNodeResults(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::XCoreTargetLowering::ReplaceNodeResults(), ReplaceREADCYCLECOUNTER(), ReplaceReductionResults(), replaceVecCondBranchResults(), replaceVPICKVE2GRResults(), llvm::DebugAssignmentTrackingAnalysis::run(), llvm::HvxSelector::selectShuffle(), llvm::signatureFromMVTs(), and SwitchToLookupTable().