LLVM 22.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::LocationSize Class Reference

#include "llvm/Analysis/MemoryLocation.h"

Public Member Functions

LocationSize unionWith (LocationSize Other) const
 
bool hasValue () const
 
bool isScalable () const
 
TypeSize getValue () const
 
bool isPrecise () const
 
bool isZero () const
 
bool mayBeBeforePointer () const
 Whether accesses before the base pointer are possible.
 
bool operator== (const LocationSize &Other) const
 
bool operator== (const TypeSize &Other) const
 
bool operator== (uint64_t Other) const
 
bool operator!= (const LocationSize &Other) const
 
bool operator!= (const TypeSize &Other) const
 
bool operator!= (uint64_t Other) const
 
LLVM_ABI void print (raw_ostream &OS) const
 
uint64_t toRaw () const
 

Static Public Member Functions

static LocationSize precise (uint64_t Value)
 
static LocationSize precise (TypeSize Value)
 
static LocationSize upperBound (uint64_t Value)
 
static LocationSize upperBound (TypeSize Value)
 
static constexpr LocationSize afterPointer ()
 Any location after the base pointer (but still within the underlying object).
 
static constexpr LocationSize beforeOrAfterPointer ()
 Any location before or after the base pointer (but still within the underlying object).
 
static constexpr LocationSize mapTombstone ()
 
static constexpr LocationSize mapEmpty ()
 

Detailed Description

Definition at line 67 of file MemoryLocation.h.

Member Function Documentation

◆ afterPointer()

static constexpr LocationSize llvm::LocationSize::afterPointer ( )
inlinestaticconstexpr

Any location after the base pointer (but still within the underlying object).

Definition at line 118 of file MemoryLocation.h.

Referenced by llvm::MemoryLocation::get(), llvm::MemoryLocation::getAfter(), llvm::MemoryLocation::getForArgument(), mayLoopAccessLocation(), llvm::AliasSet::print(), print(), unionWith(), and upperBound().

◆ beforeOrAfterPointer()

static constexpr LocationSize llvm::LocationSize::beforeOrAfterPointer ( )
inlinestaticconstexpr

◆ getValue()

TypeSize llvm::LocationSize::getValue ( ) const
inline

Definition at line 157 of file MemoryLocation.h.

References assert(), hasValue(), and isScalable().

Referenced by llvm::SCEVAAResult::alias(), llvm::GISelAddressing::aliasIsKnownForLoadStore(), llvm::HexagonSubtarget::BankConflictMutation::apply(), llvm::AMDGPURegisterBankInfo::applyMappingLoad(), llvm::LanaiInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::PPCInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::RISCVInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::SystemZInstrInfo::areMemAccessesTriviallyDisjoint(), canSkipClobberingStore(), llvm::BaseIndexOffset::computeAliasing(), llvm::GISelValueTracking::computeNumSignBits(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::ARMBankConflictHazardRecognizer::EmitInstruction(), llvm::PPCHazardRecognizer970::EmitInstruction(), llvm::GIMatchTableExecutor::executeMatchTable(), llvm::PPCTargetLowering::expandVSXLoadForLE(), llvm::PPCTargetLowering::expandVSXStoreForLE(), LiveDebugValues::InstrRefBasedLDV::findLocationForMemOperand(), llvm::PPCHazardRecognizer970::getHazardType(), llvm::SIInstrInfo::getMemOperandsWithOffsetWidth(), getMinimalExtentFrom(), getSpillSlotSize(), llvm::GISelAddressing::instMayAlias(), isPartialOverwrite(), llvm::AMDGPURegisterBankInfo::isScalarLoadLegal(), isZero(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::RISCVRegisterInfo::lowerSegmentSpillReload(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), llvm::SwingSchedulerDAG::mayOverlapInLaterIter(), MemOperandsHaveAlias(), llvm::MemSDNode::MemSDNode(), llvm::LegalizerHelper::narrowScalar(), offsetsDoNotOverlap(), print(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::PPCInstrInfo::shouldClusterMemOps(), and unionWith().

◆ hasValue()

bool llvm::LocationSize::hasValue ( ) const
inline

◆ isPrecise()

bool llvm::LocationSize::isPrecise ( ) const
inline

◆ isScalable()

bool llvm::LocationSize::isScalable ( ) const
inline

◆ isZero()

bool llvm::LocationSize::isZero ( ) const
inline

◆ mapEmpty()

static constexpr LocationSize llvm::LocationSize::mapEmpty ( )
inlinestaticconstexpr

Definition at line 132 of file MemoryLocation.h.

Referenced by llvm::DenseMapInfo< LocationSize >::getEmptyKey(), and print().

◆ mapTombstone()

static constexpr LocationSize llvm::LocationSize::mapTombstone ( )
inlinestaticconstexpr

Definition at line 129 of file MemoryLocation.h.

Referenced by llvm::DenseMapInfo< LocationSize >::getTombstoneKey(), and print().

◆ mayBeBeforePointer()

bool llvm::LocationSize::mayBeBeforePointer ( ) const
inline

Whether accesses before the base pointer are possible.

Definition at line 174 of file MemoryLocation.h.

◆ operator!=() [1/3]

bool llvm::LocationSize::operator!= ( const LocationSize Other) const
inline

Definition at line 186 of file MemoryLocation.h.

References llvm::Other.

◆ operator!=() [2/3]

bool llvm::LocationSize::operator!= ( const TypeSize Other) const
inline

Definition at line 187 of file MemoryLocation.h.

References llvm::Other.

◆ operator!=() [3/3]

bool llvm::LocationSize::operator!= ( uint64_t  Other) const
inline

Definition at line 188 of file MemoryLocation.h.

References llvm::Other.

◆ operator==() [1/3]

bool llvm::LocationSize::operator== ( const LocationSize Other) const
inline

Definition at line 176 of file MemoryLocation.h.

References llvm::Other.

◆ operator==() [2/3]

bool llvm::LocationSize::operator== ( const TypeSize Other) const
inline

Definition at line 179 of file MemoryLocation.h.

References llvm::Other, and precise().

◆ operator==() [3/3]

bool llvm::LocationSize::operator== ( uint64_t  Other) const
inline

Definition at line 182 of file MemoryLocation.h.

References llvm::Other, and precise().

◆ precise() [1/2]

static LocationSize llvm::LocationSize::precise ( TypeSize  Value)
inlinestatic

Definition at line 98 of file MemoryLocation.h.

◆ precise() [2/2]

static LocationSize llvm::LocationSize::precise ( uint64_t  Value)
inlinestatic

◆ print()

void LocationSize::print ( raw_ostream OS) const

◆ toRaw()

uint64_t llvm::LocationSize::toRaw ( ) const
inline

◆ unionWith()

LocationSize llvm::LocationSize::unionWith ( LocationSize  Other) const
inline

◆ upperBound() [1/2]

static LocationSize llvm::LocationSize::upperBound ( TypeSize  Value)
inlinestatic

Definition at line 110 of file MemoryLocation.h.

References afterPointer(), and upperBound().

◆ upperBound() [2/2]

static LocationSize llvm::LocationSize::upperBound ( uint64_t  Value)
inlinestatic

The documentation for this class was generated from the following files: