Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
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()

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

◆ beforeOrAfterPointer()

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

◆ getValue()

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

Definition at line 158 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::LegalizerHelper::narrowScalar(), offsetsDoNotOverlap(), print(), llvm::LegalizerHelper::reduceLoadStoreWidth(), llvm::AMDGPU::RegBankLegalizeRules::RegBankLegalizeRules(), llvm::PPCInstrInfo::shouldClusterMemOps(), and unionWith().

◆ hasValue()

◆ isPrecise()

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

◆ isScalable()

◆ isZero()

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

◆ mapEmpty()

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

Definition at line 132 of file MemoryLocation.h.

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

◆ mapTombstone()

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

◆ operator!=() [1/3]

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

Definition at line 187 of file MemoryLocation.h.

References llvm::Other.

◆ operator!=() [2/3]

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

Definition at line 188 of file MemoryLocation.h.

References llvm::Other.

◆ operator!=() [3/3]

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

Definition at line 189 of file MemoryLocation.h.

References llvm::Other.

◆ operator==() [1/3]

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

Definition at line 177 of file MemoryLocation.h.

References llvm::Other.

◆ operator==() [2/3]

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

Definition at line 180 of file MemoryLocation.h.

References llvm::Other, and precise().

◆ operator==() [3/3]

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

Definition at line 183 of file MemoryLocation.h.

References llvm::Other, and precise().

◆ precise() [1/2]

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

Definition at line 98 of file MemoryLocation.h.

◆ precise() [2/2]

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

Definition at line 95 of file MemoryLocation.h.

Referenced by llvm::HexagonSubtarget::BankConflictMutation::apply(), llvm::LanaiInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::PPCInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::RISCVInstrInfo::areMemAccessesTriviallyDisjoint(), areNonOverlapSameBaseLoadAndStore(), llvm::MemoryLocation::get(), llvm::MemoryLocation::get(), llvm::MemoryLocation::get(), llvm::MemoryLocation::get(), llvm::HexagonInstrInfo::getBaseAndOffset(), llvm::MemoryLocation::getForArgument(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFunction::getMachineMemOperand(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::SelectionDAG::getMemIntrinsicNode(), llvm::AArch64InstrInfo::getMemOperandsWithOffsetWidth(), llvm::SIInstrInfo::getMemOperandsWithOffsetWidth(), llvm::X86InstrInfo::getMemOperandsWithOffsetWidth(), llvm::TargetInstrInfo::getMemOperandWithOffset(), llvm::LanaiInstrInfo::getMemOperandWithOffsetWidth(), llvm::MachineMemOperand::getSize(), llvm::MachineMemOperand::getSizeInBits(), getSpillSlotSize(), getStackAlignedMMO(), llvm::MemoryLocation::getWithNewSize(), llvm::MemoryLocation::getWithNewSize(), llvm::GISelAddressing::instMayAlias(), llvm::AAResults::isMustAlias(), llvm::BatchAAResults::isMustAlias(), mayLoopAccessLocation(), mayLoopAccessLocation(), MemOperandsHaveAlias(), operator==(), operator==(), llvm::PPCInstrInfo::shouldClusterMemOps(), llvm::JumpThreadingPass::simplifyPartiallyRedundantLoad(), and upperBound().

◆ 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]

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

Definition at line 110 of file MemoryLocation.h.

References afterPointer(), and upperBound().

◆ upperBound() [2/2]

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

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