LLVM: llvm::LocationSize Class Reference (original) (raw)

#include "[llvm/Analysis/MemoryLocation.h](MemoryLocation%5F8h%5Fsource.html)"

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 ()

Definition at line 67 of file MemoryLocation.h.

afterPointer()

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

beforeOrAfterPointer()

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

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

Definition at line 124 of file MemoryLocation.h.

Referenced by llvm::SCEVAAResult::alias(), llvm::MemoryLocation::getBeforeOrAfter(), llvm::MachineMemOperand::getSize(), llvm::MachineMemOperand::getSizeInBits(), getSpillSlotSize(), getStackAlignedMMO(), llvm::GISelAddressing::instMayAlias(), performVP_REVERSECombine(), performVP_STORECombine(), llvm::AliasSet::print(), print(), and unionWith().

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()

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

Definition at line 153 of file MemoryLocation.h.

Referenced by llvm::SCEVAAResult::alias(), llvm::GISelAddressing::aliasIsKnownForLoadStore(), llvm::HexagonSubtarget::BankConflictMutation::apply(), llvm::LanaiInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::PPCInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::RISCVInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::SystemZInstrInfo::areMemAccessesTriviallyDisjoint(), canSkipClobberingStore(), llvm::BaseIndexOffset::computeAliasing(), llvm::TargetInstrInfo::describeLoadedValue(), llvm::ARMBankConflictHazardRecognizer::EmitInstruction(), llvm::PPCTargetLowering::expandVSXLoadForLE(), llvm::PPCTargetLowering::expandVSXStoreForLE(), LiveDebugValues::InstrRefBasedLDV::findLocationForMemOperand(), llvm::PPCHazardRecognizer970::getHazardType(), getSpillSlotSize(), getValue(), llvm::GISelAddressing::instMayAlias(), isZero(), llvm::SwingSchedulerDAG::mayOverlapInLaterIter(), MemOperandsHaveAlias(), offsetsDoNotOverlap(), and llvm::MachineMemOperand::refineAlignment().

isPrecise()

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

isScalable()

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

isZero()

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

mapEmpty()

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

mapTombstone()

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

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]

operator!=() [2/3]

operator!=() [3/3]

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

operator==() [1/3]

operator==() [2/3]

operator==() [3/3]

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

precise() [1/2]

precise() [2/2]

Definition at line 95 of file MemoryLocation.h.

Referenced by llvm::HexagonSubtarget::BankConflictMutation::apply(), llvm::LanaiInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::PPCInstrInfo::areMemAccessesTriviallyDisjoint(), llvm::RISCVInstrInfo::areMemAccessesTriviallyDisjoint(), areNonOverlapSameBaseLoadAndStore(), foldLoadsRecursive(), 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()

toRaw()

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

unionWith()

upperBound() [1/2]

upperBound() [2/2]


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