LLVM  13.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/CFLAndersAliasAnalysis.h"
#include "llvm/Analysis/CFLSteensAliasAnalysis.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/Module.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>
Include dependency graph for AliasAnalysis.cpp:

Go to the source code of this file.

Namespaces

 llvm
 

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< bool > llvm::DisableBasicAA ("disable-basic-aa", cl::Hidden, cl::init(false))
 Allow disabling BasicAA from the AA results. More...
 
static cl::opt< bool > EnableAATrace ("aa-trace", cl::Hidden, cl::init(false))
 Print a trace of alias analysis queries and their results. More...
 
 aa
 
Function Alias Analysis Results
 
Function Alias Analysis false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "aa"

Definition at line 58 of file AliasAnalysis.cpp.

Function Documentation

◆ INITIALIZE_PASS()

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

Definition at line 825 of file AliasAnalysis.cpp.

References move.

◆ 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 971 of file AliasAnalysis.cpp.

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))
static

Print a trace of alias analysis queries and their results.

◆ false

ee Instrument function entry exit with calls to e g false post inline ee Instrument function entry exit with calls to e g false

◆ Results

Function Alias Analysis Results

Definition at line 851 of file AliasAnalysis.cpp.

Referenced by llvm::WebAssemblyFunctionInfo::addResult(), llvm::MachineIRBuilder::buildIntrinsic(), llvm::WebAssemblyFunctionInfo::clearParamsAndResults(), llvm::computeSignatureVTs(), emitConstantSizeRepmov(), llvm::WebAssemblyAsmPrinter::emitEndOfAsmFile(), expandIntrinsicWChainHelper(), ExpandREAD_REGISTER(), getReadTimeStampCounter(), llvm::WebAssemblyFunctionInfo::getResults(), InitializeUniqueCases(), llvm::isOverflowIntrinsicNoWrap(), llvm::ARMLegalizerInfo::legalizeCustom(), LowerINTRINSIC_W_CHAIN(), llvm::HexagonTargetLowering::LowerOperationWrapper(), llvm::SystemZTargetLowering::LowerOperationWrapper(), llvm::TargetLowering::LowerOperationWrapper(), LowerREADCYCLECOUNTER(), llvm::AMDGPUTargetLowering::LowerUDIVREM(), llvm::AMDGPUTargetLowering::LowerUDIVREM64(), ReplaceBITCASTResults(), ReplaceCMP_SWAP_128Results(), ReplaceCMP_SWAP_64Results(), ReplaceINTRINSIC_W_CHAIN(), ReplaceLoadVector(), ReplaceLongIntrinsic(), llvm::R600TargetLowering::ReplaceNodeResults(), llvm::AVRTargetLowering::ReplaceNodeResults(), llvm::XCoreTargetLowering::ReplaceNodeResults(), llvm::HexagonTargetLowering::ReplaceNodeResults(), llvm::SparcTargetLowering::ReplaceNodeResults(), llvm::RISCVTargetLowering::ReplaceNodeResults(), llvm::MipsTargetLowering::ReplaceNodeResults(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::SITargetLowering::ReplaceNodeResults(), llvm::SystemZTargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::X86TargetLowering::ReplaceNodeResults(), ReplaceREADCYCLECOUNTER(), ReplaceReductionResults(), llvm::HvxSelector::selectShuffle(), llvm::signatureFromMVTs(), and SwitchToLookupTable().