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:
- include/llvm/Analysis/MemoryLocation.h
- lib/Analysis/MemoryLocation.cpp