LLVM 20.0.0git
|
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/MemoryLocation.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Pass.h"
#include "llvm/Support/ModRef.h"
#include <cstdint>
#include <functional>
#include <memory>
#include <optional>
#include <vector>
Go to the source code of this file.
Classes | |
class | llvm::AliasResult |
The possible results of an alias query. More... | |
struct | llvm::CaptureAnalysis |
Virtual base class for providers of capture analysis. More... | |
class | llvm::SimpleCaptureAnalysis |
Context-free CaptureAnalysis provider, which computes and caches whether an object is captured in the function at all, but does not distinguish whether it was captured before or after the context instruction. More... | |
class | llvm::EarliestEscapeAnalysis |
Context-sensitive CaptureAnalysis provider, which computes and caches the earliest common dominator closure of all captures. More... | |
struct | llvm::AACacheLoc |
Cache key for BasicAA results. More... | |
struct | llvm::DenseMapInfo< AACacheLoc > |
class | llvm::AAQueryInfo |
This class stores info we want to provide to or retain within an alias query. More... | |
struct | llvm::AAQueryInfo::CacheEntry |
class | llvm::SimpleAAQueryInfo |
AAQueryInfo that uses SimpleCaptureAnalysis. More... | |
class | llvm::AAResults |
class | llvm::BatchAAResults |
This class is a wrapper over an AAResults, and it is intended to be used only when there are no IR changes inbetween queries. More... | |
class | llvm::AAResults::Concept |
A private abstract base class describing the concept of an individual alias analysis implementation. More... | |
class | llvm::AAResultBase |
A base class to help implement the function alias analysis results concept. More... | |
class | llvm::AAManager |
A manager for alias analyses. More... | |
class | llvm::AAResultsWrapperPass |
A wrapper pass to provide the legacy pass manager access to a suitably prepared AAResults object. More... | |
struct | llvm::ExternalAAWrapperPass |
A wrapper pass for external alias analyses. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
using | llvm::AliasAnalysis = AAResults |
Temporary typedef for legacy code that uses a generic AliasAnalysis pointer or reference. | |
Functions | |
raw_ostream & | llvm::operator<< (raw_ostream &OS, AliasResult AR) |
<< operator for AliasResult. | |
bool | llvm::isNoAliasCall (const Value *V) |
Return true if this pointer is returned by a noalias function. | |
bool | llvm::isIdentifiedObject (const Value *V) |
Return true if this pointer refers to a distinct and identifiable object. | |
bool | llvm::isIdentifiedFunctionLocal (const Value *V) |
Return true if V is umabigously identified at the function-level. | |
bool | llvm::isBaseOfObject (const Value *V) |
Return true if we know V to the base address of the corresponding memory object. | |
bool | llvm::isEscapeSource (const Value *V) |
Returns true if the pointer is one which would have been considered an escape by isNonEscapingLocalObject. | |
bool | llvm::isNotVisibleOnUnwind (const Value *Object, bool &RequiresNoCaptureBeforeUnwind) |
Return true if Object memory is not visible after an unwind, in the sense that program semantics cannot depend on Object containing any particular value on unwind. | |
bool | llvm::isWritableObject (const Value *Object, bool &ExplicitlyDereferenceableOnly) |
Return true if the Object is writable, in the sense that any location based on this pointer that can be loaded can also be stored to without trapping. | |
ImmutablePass * | llvm::createExternalAAWrapperPass (std::function< void(Pass &, Function &, AAResults &)> Callback) |
A wrapper pass around a callback which can be used to populate the AAResults in the AAResultsWrapperPass from an external AA. | |