class AliasResult

Declaration

class AliasResult { /* full declaration omitted */ };

Description

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.

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:81

Member Variables

private unsigned int Alias
private unsigned int HasOffset
private int Offset
private static const int OffsetBits = 23
private static const int AliasBits = 8

Method Overview

Methods

AliasResult()

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:111

constexpr AliasResult(
    const llvm::AliasResult::Kind& Alias)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:112

Parameters

const llvm::AliasResult::Kind& Alias

constexpr int32_t getOffset() const

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:118

constexpr bool hasOffset() const

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:117

llvm::AliasResult::Kind
operator llvm::AliasResult::Kind() const

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:115

void setOffset(int32_t NewOffset)

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:122

Parameters

int32_t NewOffset

void swap(bool DoSwap = true)

Description

Helper for processing AliasResult for swapped memory location pairs.

Declared at: llvm/include/llvm/Analysis/AliasAnalysis.h:130

Parameters

bool DoSwap = true