LLVM 20.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

constexpr LocationSize (uint64_t Raw)
 
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!= (const LocationSize &Other) const
 
bool operator!= (const TypeSize &Other) const
 
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 68 of file MemoryLocation.h.

Constructor & Destructor Documentation

◆ LocationSize()

constexpr llvm::LocationSize::LocationSize ( uint64_t  Raw)
inlineconstexpr

Definition at line 105 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 131 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 170 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::GISelKnownBits::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(), llvm::SwingSchedulerDAG::isLoopCarriedDep(), isPartialOverwrite(), llvm::AMDGPURegisterBankInfo::isScalarLoadLegal(), isZero(), llvm::AMDGPULegalizerInfo::legalizeBufferStore(), llvm::CombinerHelper::matchCombineLoadWithAndMask(), MemOperandsHaveAlias(), llvm::MemSDNode::MemSDNode(), llvm::LegalizerHelper::narrowScalar(), offsetsDoNotOverlap(), operator==(), print(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::PPCInstrInfo::shouldClusterMemOps(), and unionWith().

◆ hasValue()

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

◆ isPrecise()

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

Definition at line 179 of file MemoryLocation.h.

Referenced by getMinimalExtentFrom(), and print().

◆ 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 145 of file MemoryLocation.h.

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

◆ mapTombstone()

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

Definition at line 142 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 187 of file MemoryLocation.h.

◆ operator!=() [1/2]

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

Definition at line 197 of file MemoryLocation.h.

References llvm::Other.

◆ operator!=() [2/2]

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

Definition at line 199 of file MemoryLocation.h.

References llvm::Other.

◆ operator==() [1/2]

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

Definition at line 189 of file MemoryLocation.h.

References llvm::Other.

◆ operator==() [2/2]

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

Definition at line 193 of file MemoryLocation.h.

References getValue(), hasValue(), and llvm::Other.

◆ precise() [1/2]

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

Definition at line 111 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

Definition at line 210 of file MemoryLocation.h.

Referenced by llvm::DenseMapInfo< LocationSize >::getHashValue().

◆ unionWith()

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

◆ upperBound() [1/2]

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

Definition at line 123 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: