LLVM
15.0.0git
|
The possible results of an alias query. More...
#include "llvm/Analysis/AliasAnalysis.h"
Public Types | |
enum | Kind : uint8_t { NoAlias = 0, MayAlias, PartialAlias, MustAlias } |
Public Member Functions | |
AliasResult ()=delete | |
constexpr | AliasResult (const Kind &Alias) |
operator Kind () const | |
constexpr bool | hasOffset () const |
constexpr int32_t | getOffset () const |
void | setOffset (int32_t NewOffset) |
void | swap (bool DoSwap=true) |
Helper for processing AliasResult for swapped memory location pairs. More... | |
The possible results of an alias query.
These results are always computed between two MemoryLocation objects as a query to some alias analysis.
Note that these are unscoped enumerations because we would like to support implicitly testing a result for the existence of any possible aliasing with a conversion to bool, but an "enum class" doesn't support this. The canonical names from the literature are suffixed and unique anyways, and so they serve as global constants in LLVM for these results.
See docs/AliasAnalysis.html for more information on the specific meanings of these values.
Definition at line 81 of file AliasAnalysis.h.
enum llvm::AliasResult::Kind : uint8_t |
Definition at line 93 of file AliasAnalysis.h.
|
explicitdelete |
Definition at line 112 of file AliasAnalysis.h.
|
inlineconstexpr |
Definition at line 118 of file AliasAnalysis.h.
References assert().
Referenced by llvm::operator<<(), and swap().
|
inlineconstexpr |
Definition at line 117 of file AliasAnalysis.h.
Referenced by llvm::operator<<(), and swap().
|
inline |
Definition at line 115 of file AliasAnalysis.h.
|
inline |
Definition at line 122 of file AliasAnalysis.h.
Referenced by swap().
|
inline |
Helper for processing AliasResult for swapped memory location pairs.
Definition at line 130 of file AliasAnalysis.h.
References getOffset(), hasOffset(), and setOffset().
Referenced by PrintResults().