Representation for a specific memory location.
Synopsis
Declared in <llvm/Analysis/MemoryLocation.h>
class MemoryLocation;
Description
This abstraction can be used to represent a specific location in memory. The goal of the location is to represent enough information to describe abstract aliasing, modification, and reference behaviors of whatever value(s) are stored in memory at the particular location.
The primary user of this interface is LLVM's Alias Analysis, but other memory analyses such as MemoryDependence can use it as well.
Enums
Name |
Description |
Sentinel values for size arguments in alias queries. |
Member Functions
Name |
Description |
|
Constructors |
Return a copy of this location with pointer replaced by |
|
|
|
Return a copy of this location with alias analysis tags cleared. |
|
Print this memory location's pointer and size to |
|
Return true if this location equals |
Static Member Functions
Name |
Description |
|
|
Return a location that may access any location after Ptr, while remaining within the underlying object. |
|
Return a location that may access any location before or after Ptr, while remaining within the underlying object. |
|
Return a location representing argument |
|
|
|
Return a location representing the source of transfer |
|
Return a location for |
Data Members
Name |
Description |
The metadata nodes which describes the aliasing of the location (each member is null if that kind of information is unavailable). |
|
The address of the start of the location. |
|
The maximum size of the location, in address‐units, or UnknownSize if the size is not known. |
Non-Member Functions
Name |
Description |
Scan backwards to see if we have the value of the given pointer available locally within a small number of instructions. |
Created with MrDocs