LLVM  mainline
Public Types | Public Member Functions
llvm::ArrayRef< T > Class Template Reference

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More...

#include <ArrayRef.h>

Inheritance diagram for llvm::ArrayRef< T >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef const Titerator
typedef const Tconst_iterator
typedef size_t size_type
typedef std::reverse_iterator
< iterator
reverse_iterator

Public Member Functions

iterator begin () const
iterator end () const
reverse_iterator rbegin () const
reverse_iterator rend () const
bool empty () const
 empty - Check if the array is empty.
const Tdata () const
size_t size () const
 size - Get the array size.
const Tfront () const
 front - Get the first element.
const Tback () const
 back - Get the last element.
template<typename Allocator >
ArrayRef< Tcopy (Allocator &A)
bool equals (ArrayRef RHS) const
 equals - Check for element-wise equality.
ArrayRef< Tslice (unsigned N) const
 slice(n) - Chop off the first N elements of the array.
ArrayRef< Tslice (unsigned N, unsigned M) const
 slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array.
ArrayRef< Tdrop_back (unsigned N=1) const
const Toperator[] (size_t Index) const
std::vector< Tvec () const
 operator std::vector< T > () const
Constructors
 ArrayRef ()
 Construct an empty ArrayRef.
 ArrayRef (NoneType)
 Construct an empty ArrayRef from None.
 ArrayRef (const T &OneElt)
 Construct an ArrayRef from a single element.
 ArrayRef (const T *data, size_t length)
 Construct an ArrayRef from a pointer and length.
 ArrayRef (const T *begin, const T *end)
 Construct an ArrayRef from a range.
template<typename U >
 ArrayRef (const SmallVectorTemplateCommon< T, U > &Vec)
 Construct an ArrayRef from a SmallVector.
template<typename A >
 ArrayRef (const std::vector< T, A > &Vec)
 Construct an ArrayRef from a std::vector.
template<size_t N>
LLVM_CONSTEXPR ArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array.
 ArrayRef (const std::initializer_list< T > &Vec)
 Construct an ArrayRef from a std::initializer_list.
template<typename U >
 ArrayRef (const ArrayRef< U * > &A, typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *=0)
 Construct an ArrayRef<const T*> from ArrayRef<T*>.
template<typename U , typename DummyT >
 ArrayRef (const SmallVectorTemplateCommon< U *, DummyT > &Vec, typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *=0)
 Construct an ArrayRef<const T*> from a SmallVector<T*>.
template<typename U , typename A >
 ArrayRef (const std::vector< U *, A > &Vec, typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *=0)
 Construct an ArrayRef<const T*> from std::vector<T*>.

Detailed Description

template<typename T>
class llvm::ArrayRef< T >

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e.

a start pointer and a length. It allows various APIs to take consecutive elements easily and conveniently.

This class does not own the underlying data, it is expected to be used in situations where the data resides in some other buffer, whose lifetime extends past that of the ArrayRef. For this reason, it is not in general safe to store an ArrayRef.

This is intended to be trivially copyable, so it should be passed by value.

Definition at line 32 of file ArrayRef.h.


Member Typedef Documentation

template<typename T>
typedef const T* llvm::ArrayRef< T >::const_iterator

Definition at line 35 of file ArrayRef.h.

template<typename T>
typedef const T* llvm::ArrayRef< T >::iterator

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 34 of file ArrayRef.h.

template<typename T>
typedef std::reverse_iterator<iterator> llvm::ArrayRef< T >::reverse_iterator

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 38 of file ArrayRef.h.

template<typename T>
typedef size_t llvm::ArrayRef< T >::size_type

Definition at line 36 of file ArrayRef.h.


Constructor & Destructor Documentation

template<typename T>
llvm::ArrayRef< T >::ArrayRef ( ) [inline]

Construct an empty ArrayRef.

Definition at line 52 of file ArrayRef.h.

template<typename T>
llvm::ArrayRef< T >::ArrayRef ( NoneType  ) [inline]

Construct an empty ArrayRef from None.

Definition at line 55 of file ArrayRef.h.

template<typename T>
llvm::ArrayRef< T >::ArrayRef ( const T OneElt) [inline]

Construct an ArrayRef from a single element.

Definition at line 58 of file ArrayRef.h.

template<typename T>
llvm::ArrayRef< T >::ArrayRef ( const T data,
size_t  length 
) [inline]

Construct an ArrayRef from a pointer and length.

Definition at line 62 of file ArrayRef.h.

template<typename T>
llvm::ArrayRef< T >::ArrayRef ( const T begin,
const T end 
) [inline]

Construct an ArrayRef from a range.

Definition at line 66 of file ArrayRef.h.

template<typename T>
template<typename U >
llvm::ArrayRef< T >::ArrayRef ( const SmallVectorTemplateCommon< T, U > &  Vec) [inline]

Construct an ArrayRef from a SmallVector.

This is templated in order to avoid instantiating SmallVectorTemplateCommon<T> whenever we copy-construct an ArrayRef.

Definition at line 73 of file ArrayRef.h.

template<typename T>
template<typename A >
llvm::ArrayRef< T >::ArrayRef ( const std::vector< T, A > &  Vec) [inline]

Construct an ArrayRef from a std::vector.

Definition at line 79 of file ArrayRef.h.

template<typename T>
template<size_t N>
LLVM_CONSTEXPR llvm::ArrayRef< T >::ArrayRef ( const T(&)  Arr[N]) [inline]

Construct an ArrayRef from a C array.

Definition at line 84 of file ArrayRef.h.

template<typename T>
llvm::ArrayRef< T >::ArrayRef ( const std::initializer_list< T > &  Vec) [inline]

Construct an ArrayRef from a std::initializer_list.

Definition at line 88 of file ArrayRef.h.

template<typename T>
template<typename U >
llvm::ArrayRef< T >::ArrayRef ( const ArrayRef< U * > &  A,
typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *  = 0 
) [inline]

Construct an ArrayRef<const T*> from ArrayRef<T*>.

This uses SFINAE to ensure that only ArrayRefs of pointers can be converted.

Definition at line 95 of file ArrayRef.h.

template<typename T>
template<typename U , typename DummyT >
llvm::ArrayRef< T >::ArrayRef ( const SmallVectorTemplateCommon< U *, DummyT > &  Vec,
typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *  = 0 
) [inline]

Construct an ArrayRef<const T*> from a SmallVector<T*>.

This is templated in order to avoid instantiating SmallVectorTemplateCommon<T> whenever we copy-construct an ArrayRef.

Definition at line 104 of file ArrayRef.h.

template<typename T>
template<typename U , typename A >
llvm::ArrayRef< T >::ArrayRef ( const std::vector< U *, A > &  Vec,
typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *  = 0 
) [inline]

Construct an ArrayRef<const T*> from std::vector<T*>.

This uses SFINAE to ensure that only vectors of pointers can be converted.

Definition at line 114 of file ArrayRef.h.


Member Function Documentation

template<typename T>
const T& llvm::ArrayRef< T >::back ( ) const [inline]

back - Get the last element.

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 142 of file ArrayRef.h.

Referenced by ConstantFoldInstOperandsImpl().

template<typename T>
iterator llvm::ArrayRef< T >::begin ( ) const [inline]

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 121 of file ArrayRef.h.

Referenced by llvm::AttributeSet::addAttribute(), llvm::SpillPlacement::addConstraints(), llvm::SpillPlacement::addLinks(), llvm::SpillPlacement::addPrefSpill(), llvm::DebugLocEntry::addValues(), llvm::TargetLibraryInfoImpl::addVectorizableFunctions(), llvm::AllocationOrder::AllocationOrder(), buildExtractionBlockSet(), buildFixItLine(), BuildSubAggregate(), llvm::Interpreter::callFunction(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::SchedDFSResult::compute(), llvm::ComputeLinearIndex(), ConcatenateVectors(), llvm::ConstantArray::ConstantArray(), ConstantFoldGetElementPtrImpl(), llvm::ConstantStruct::ConstantStruct(), llvm::ConstantVector::ConstantVector(), llvm::sys::UnicodeCharSet::contains(), llvm::ConvertCostTableLookup(), llvm::convertUTF16ToUTF8String(), llvm::ArrayRef< Use >::copy(), llvm::CostTableLookup(), llvm::DIBuilder::createExpression(), CreateGCRelocates(), llvm::discoverAndMapSubloop(), llvm::Function::dropUnknownMetadata(), llvm::Instruction::dropUnknownNonDebugMetadata(), llvm::DIExpression::elements_begin(), llvm::MCDwarfFrameEmitter::Emit(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), llvm::TargetLoweringObjectFileCOFF::emitModuleFlags(), llvm::ArrayRef< Use >::equals(), Find(), llvm::FindInsertedValue(), llvm::SchedBoundary::findMaxLatency(), FoldCONCAT_VECTORS(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), llvm::gep_type_begin(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getGEPCost(), llvm::ConstantAggrKeyType< ConstantClass >::getHash(), llvm::ConstantExprKeyType::getHash(), llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), getRegLanes(), getStatepointArgs(), llvm::SelectionDAG::getVTList(), llvm::ConstantExpr::getWithOperands(), llvm::cl::HideUnrelatedOptions(), initialize(), llvm::RegPressureTracker::initLiveThru(), llvm::ScheduleDAGMI::initQueues(), llvm::sroa::AllocaSlices::insert(), llvm::MCSubtargetInfo::isCPUStringValid(), isEXTMask(), isHorizontalBinOp(), llvm::libDriverMain(), lle_X_fprintf(), lle_X_printf(), Lookup(), lookupLLVMIntrinsicByName(), lowerV8I16GeneralSingleInputVectorShuffle(), LowerVECTOR_SHUFFLEv8i8(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsPermuteAndUnpack(), lowerVectorShuffleWithSHUFPS(), llvm::object::ExportEntry::nodeOffset(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), llvm::opt::OptTable::ParseArgs(), llvm::opt::OptTable::ParseOneArg(), ProfileDagInit(), readWideAPInt(), llvm::MachineModuleInfo::setCallSiteLandingPad(), llvm::MachineInstr::setPhysRegsDeadExcept(), llvm::SimplifyCall(), llvm::SelectionDAG::TransferDbgValues(), UpdateAnalysisInformation(), llvm::SelectionDAG::UpdateNodeOperands(), and UpdatePHINodes().

template<typename T>
template<typename Allocator >
ArrayRef<T> llvm::ArrayRef< T >::copy ( Allocator &  A) [inline]

Definition at line 148 of file ArrayRef.h.

Referenced by llvm::StructType::setBody().

template<typename T>
const T* llvm::ArrayRef< T >::data ( ) const [inline]
template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::drop_back ( unsigned  N = 1) const [inline]

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 175 of file ArrayRef.h.

template<typename T>
bool llvm::ArrayRef< T >::empty ( ) const [inline]

empty - Check if the array is empty.

Definition at line 128 of file ArrayRef.h.

Referenced by llvm::SpillPlacement::addLinks(), llvm::ArrayRef< Use >::back(), llvm::MutableArrayRef< CounterMappingRegion >::back(), buildFixItLine(), combineX86ShuffleChain(), llvm::MDNodeOpsKey::compareOps(), computeExcessPressureDelta(), llvm::ConstantFoldExtractValueInstruction(), ConstantFoldGetElementPtrImpl(), llvm::ConstantFoldInsertValueInstruction(), llvm::convertUTF16ToUTF8String(), llvm::StructType::create(), CreateGCRelocates(), llvm::symbolize::darwinDsymMatchesBinary(), llvm::Function::dropUnknownMetadata(), llvm::coverage::CounterMappingContext::dump(), llvm::FindInsertedValue(), llvm::ArrayRef< Use >::front(), llvm::MutableArrayRef< CounterMappingRegion >::front(), llvm::AttributeSet::get(), llvm::ConstantStruct::get(), llvm::SubtargetFeatures::getFeatureBits(), getFPSequenceIfElementsMatch(), getIndexedTypeInternal(), getIntSequenceIfElementsMatch(), llvm::Intrinsic::getName(), getOrSelfReference(), llvm::HexagonInstrInfo::getPredReg(), llvm::InstrProfReaderIndex< HashTableImpl >::getRecords(), llvm::Intrinsic::getType(), llvm::ConstantStruct::getTypeForElements(), llvm::ScheduleDAGMILive::initRegPressure(), llvm::BPFInstrInfo::InsertBranch(), llvm::XCoreInstrInfo::InsertBranch(), llvm::MipsInstrInfo::InsertBranch(), llvm::NVPTXInstrInfo::InsertBranch(), llvm::SparcInstrInfo::InsertBranch(), llvm::MSP430InstrInfo::InsertBranch(), llvm::HexagonInstrInfo::InsertBranch(), llvm::ARMBaseInstrInfo::InsertBranch(), llvm::AArch64InstrInfo::InsertBranch(), llvm::SystemZInstrInfo::InsertBranch(), llvm::R600InstrInfo::InsertBranch(), llvm::PPCInstrInfo::InsertBranch(), insertUseHolderAfter(), isInBoundsIndices(), llvm::LoadAndStorePromoter::LoadAndStorePromoter(), llvm::AArch64TargetLowering::lowerInterleavedLoad(), llvm::ARMTargetLowering::lowerInterleavedLoad(), lowerV8I16GeneralSingleInputVectorShuffle(), llvm::operator<<(), llvm::yaml::operator==(), llvm::HexagonInstrInfo::PredicateInstruction(), llvm::HexagonInstrInfo::predOpcodeHasNot(), llvm::PrintMessage(), llvm::PromoteMemToReg(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::StructType::setBody(), and llvm::HexagonInstrInfo::validateBranchCond().

template<typename T>
iterator llvm::ArrayRef< T >::end ( ) const [inline]

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 122 of file ArrayRef.h.

Referenced by llvm::AttributeSet::addAttribute(), llvm::SpillPlacement::addConstraints(), llvm::SpillPlacement::addLinks(), llvm::SpillPlacement::addPrefSpill(), llvm::DebugLocEntry::addValues(), llvm::TargetLibraryInfoImpl::addVectorizableFunctions(), llvm::AllocationOrder::AllocationOrder(), buildExtractionBlockSet(), buildFixItLine(), BuildSubAggregate(), llvm::Interpreter::callFunction(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::SchedDFSResult::compute(), llvm::ComputeLinearIndex(), ConcatenateVectors(), llvm::ConstantArray::ConstantArray(), ConstantFoldGetElementPtrImpl(), llvm::ConstantStruct::ConstantStruct(), llvm::ConstantVector::ConstantVector(), llvm::sys::UnicodeCharSet::contains(), llvm::ConvertCostTableLookup(), llvm::convertUTF16ToUTF8String(), llvm::ArrayRef< Use >::copy(), llvm::CostTableLookup(), llvm::DIBuilder::createExpression(), CreateGCRelocates(), llvm::discoverAndMapSubloop(), llvm::Function::dropUnknownMetadata(), llvm::Instruction::dropUnknownNonDebugMetadata(), llvm::DIExpression::elements_end(), llvm::MCDwarfFrameEmitter::Emit(), llvm::TargetLoweringObjectFileMachO::emitModuleFlags(), llvm::TargetLoweringObjectFileCOFF::emitModuleFlags(), llvm::ArrayRef< Use >::equals(), Find(), llvm::FindInsertedValue(), llvm::SchedBoundary::findMaxLatency(), FoldCONCAT_VECTORS(), llvm::SelectionDAG::FoldConstantVectorArithmetic(), llvm::gep_type_end(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getGEPCost(), llvm::ConstantAggrKeyType< ConstantClass >::getHash(), llvm::ConstantExprKeyType::getHash(), llvm::AnonStructTypeKeyInfo::getHashValue(), llvm::FunctionTypeKeyInfo::getHashValue(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::TargetRegisterInfo::getRegAllocationHints(), getRegLanes(), getStatepointArgs(), llvm::SelectionDAG::getVTList(), llvm::ConstantExpr::getWithOperands(), llvm::cl::HideUnrelatedOptions(), initialize(), llvm::RegPressureTracker::initLiveThru(), llvm::ScheduleDAGMI::initQueues(), llvm::sroa::AllocaSlices::insert(), llvm::MCSubtargetInfo::isCPUStringValid(), isEXTMask(), isHorizontalBinOp(), llvm::libDriverMain(), lle_X_fprintf(), lle_X_printf(), Lookup(), lookupLLVMIntrinsicByName(), lowerV8I16GeneralSingleInputVectorShuffle(), LowerVECTOR_SHUFFLEv8i8(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsPermuteAndUnpack(), lowerVectorShuffleWithSHUFPS(), llvm::object::MachORebaseEntry::moveNext(), llvm::object::MachOBindEntry::moveNext(), llvm::OperandBundleDefT< InputTy >::OperandBundleDefT(), llvm::coverage::FunctionRecordIterator::operator++(), llvm::opt::OptTable::ParseArgs(), llvm::opt::OptTable::ParseOneArg(), ProfileDagInit(), readWideAPInt(), llvm::ArrayRef< Use >::rend(), llvm::MachineModuleInfo::setCallSiteLandingPad(), llvm::MachineInstr::setPhysRegsDeadExcept(), llvm::SimplifyCall(), llvm::SelectionDAG::TransferDbgValues(), UpdateAnalysisInformation(), llvm::SelectionDAG::UpdateNodeOperands(), and UpdatePHINodes().

template<typename T>
bool llvm::ArrayRef< T >::equals ( ArrayRef< T RHS) const [inline]

equals - Check for element-wise equality.

Definition at line 155 of file ArrayRef.h.

Referenced by combineX86ShuffleChain(), and llvm::operator==().

template<typename T>
const T& llvm::ArrayRef< T >::front ( ) const [inline]
template<typename T>
llvm::ArrayRef< T >::operator std::vector< T > ( ) const [inline]

Definition at line 192 of file ArrayRef.h.

template<typename T>
const T& llvm::ArrayRef< T >::operator[] ( size_t  Index) const [inline]

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 181 of file ArrayRef.h.

template<typename T>
reverse_iterator llvm::ArrayRef< T >::rbegin ( ) const [inline]
template<typename T>
reverse_iterator llvm::ArrayRef< T >::rend ( ) const [inline]
template<typename T>
size_t llvm::ArrayRef< T >::size ( ) const [inline]

size - Get the array size.

Definition at line 133 of file ArrayRef.h.

Referenced by llvm::MachineModuleInfo::addCatchTypeInfo(), llvm::MachineModuleInfo::addFilterTypeInfo(), llvm::InstCombineWorklist::AddInitialGroup(), addOperands(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateRegBlock(), llvm::CCState::AllocateStack(), llvm::MutableArrayRef< CounterMappingRegion >::back(), llvm::yaml::BinaryRef::binary_size(), buildNew(), llvm::Interpreter::callFunction(), CanEvaluateShuffled(), llvm::AArch64InstrInfo::canInsertSelect(), llvm::PPCInstrInfo::canInsertSelect(), canLowerByDroppingEvenElements(), canWidenShuffleElements(), CastGEPIndices(), llvm::CC_ARM_AAPCS_Custom_Aggregate(), CheckForLiveRegDefMasked(), llvm::TargetLowering::DAGCombinerInfo::CombineTo(), combineX86ShuffleChain(), combineX86ShufflesRecursively(), llvm::ComputeEditDistance(), computeExcessPressureDelta(), computeMaxPressureDelta(), computeZeroableShuffleElements(), ConcatenateVectors(), llvm::ConstantArray::ConstantArray(), ConstantFoldGetElementPtrImpl(), ConstantFoldInstOperandsImpl(), llvm::ConstantFoldLoadThroughGEPIndices(), ConstantFoldScalarCall(), ConstantFoldVectorCall(), llvm::ConstantStruct::ConstantStruct(), llvm::ConstantVector::ConstantVector(), convertToString(), llvm::convertUTF16ToUTF8String(), llvm::SIInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysRegTuple(), llvm::GetElementPtrConstantExpr::Create(), llvm::ConstantAggrKeyType< ConstantClass >::create(), llvm::GetElementPtrInst::Create(), llvm::CallInst::Create(), llvm::InvokeInst::Create(), llvm::CleanupPadInst::Create(), llvm::CatchPadInst::Create(), llvm::MDBuilder::createBranchWeights(), CreateGCRelocates(), llvm::IRBuilder< true, TargetFolder >::CreateGEP(), llvm::IRBuilder< true, TargetFolder >::CreateInBoundsGEP(), createPHIsForSplitLoopExit(), llvm::createSanitizerCtorAndInitFunctions(), llvm::IRBuilder< true, TargetFolder >::CreateShuffleVector(), llvm::MDBuilder::createTBAAStructNode(), llvm::symbolize::darwinDsymMatchesBinary(), DecodeIITType(), llvm::DecodePSHUFBMask(), DecodeRegisterClass(), llvm::DecodeVPERMV3Mask(), llvm::DecodeVPERMVMask(), llvm::ArrayRef< Use >::drop_back(), llvm::MutableArrayRef< CounterMappingRegion >::drop_back(), llvm::coverage::CounterMappingContext::dump(), llvm::dumpRegSetPressure(), llvm::LiveRangeEdit::eliminateDeadDefs(), EltsFromConsecutiveLoads(), llvm::MCDwarfLineTableHeader::Emit(), llvm::MCDwarfFrameEmitter::Emit(), EncodeTypes(), llvm::MutableArrayRef< CounterMappingRegion >::end(), llvm::coverage::CounterMappingContext::evaluate(), llvm::object::MachOObjectFile::exports(), llvm::LiveIntervals::extendToIndices(), llvm::DWARFDebugInfoEntryMinimal::extractFast(), llvm::FindInsertedValue(), findLiveReferences(), llvm::R600InstrInfo::fitsConstReadLimitations(), FoldCONCAT_VECTORS(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::FunctionType::get(), llvm::AttributeSet::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::ConstantDataArray::get(), llvm::ConstantDataVector::get(), llvm::SelectionDAG::getAtomic(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getCallCost(), llvm::DIExpression::getElement(), llvm::CCState::getFirstUnallocated(), llvm::ConstantDataArray::getFP(), llvm::ConstantDataVector::getFP(), llvm::TargetTransformInfoImplBase::getGEPCost(), llvm::ConstantExpr::getGetElementPtr(), getIndexedTypeInternal(), llvm::IndexedInstrProfReader::getInstrProfRecord(), llvm::AArch64Disassembler::getInstruction(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getIntrinsicCost(), llvm::Intrinsic::getIntrinsicInfoTableEntries(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getMergeValues(), llvm::SourceMgr::GetMessage(), llvm::Intrinsic::getName(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::DIExpression::getNumElements(), llvm::opt::OptTable::getNumOptions(), llvm::DIBuilder::getOrCreateTypeArray(), getOrSelfReference(), llvm::HexagonInstrInfo::getPredReg(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::MachineTraceMetrics::Trace::getResourceDepth(), llvm::MachineTraceMetrics::Trace::getResourceLength(), llvm::MCSubtargetInfo::getSchedModelForCPU(), getStatepointArgs(), llvm::ConstantStruct::getTypeForElements(), llvm::RegPressureTracker::getUpwardPressureDelta(), getV4X86ShuffleImm8ForMask(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::ConstantExpr::getWithOperands(), llvm::MipsTargetLowering::HandleByVal(), llvm::hasUTF16ByteOrderMark(), hasUTF8ByteOrderMark(), llvm::XCoreInstrInfo::InsertBranch(), llvm::MipsInstrInfo::InsertBranch(), llvm::NVPTXInstrInfo::InsertBranch(), llvm::SparcInstrInfo::InsertBranch(), llvm::MSP430InstrInfo::InsertBranch(), llvm::HexagonInstrInfo::InsertBranch(), llvm::ARMBaseInstrInfo::InsertBranch(), llvm::SystemZInstrInfo::InsertBranch(), llvm::PPCInstrInfo::InsertBranch(), llvm::AArch64InstrInfo::insertSelect(), llvm::PPCInstrInfo::insertSelect(), is128BitLaneCrossingShuffleMask(), is128BitLaneRepeatedShuffleMask(), isDeInterleaveMask(), isDeInterleaveMaskOfFactor(), isInBoundsIndices(), isINSMask(), isNoopShuffleMask(), isReInterleaveMask(), isReverseMask(), isShuffleEquivalent(), isShuffleMaskInputInPlace(), isSingleSHUFPSMask(), isVTBLMask(), isVTRN_v_undef_Mask(), isVTRNMask(), isVUZP_v_undef_Mask(), isVUZPMask(), isVZIP_v_undef_Mask(), isVZIPMask(), llvm::MCAssembler::layout(), lle_X_atexit(), lle_X_fprintf(), lle_X_scanf(), lle_X_sscanf(), lookupLLVMIntrinsicByName(), llvm::AArch64TargetLowering::lowerInterleavedLoad(), llvm::ARMTargetLowering::lowerInterleavedLoad(), lowerV16I8VectorShuffle(), lowerV8I16GeneralSingleInputVectorShuffle(), lowerV8I16VectorShuffle(), lowerVectorShuffleAsBitBlend(), lowerVectorShuffleAsBitMask(), lowerVectorShuffleAsBlendAndPermute(), lowerVectorShuffleAsByteRotate(), lowerVectorShuffleAsDecomposedShuffleBlend(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsInsertPS(), lowerVectorShuffleAsLanePermuteAndBlend(), lowerVectorShuffleAsPermuteAndUnpack(), lowerVectorShuffleAsPSHUFB(), lowerVectorShuffleAsShift(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsSplitOrBlend(), lowerVectorShuffleAsZeroOrAnyExtend(), lowerVectorShuffleByMerging128BitLanes(), lowerVectorShuffleWithSSE4A(), llvm::TargetLowering::makeLibCall(), llvm::MaskedGatherScatterSDNode::MaskedGatherScatterSDNode(), llvm::SelectionDAG::MorphNodeTo(), llvm::ConstantAggrKeyType< ConstantClass >::operator==(), llvm::ConstantExprKeyType::operator==(), llvm::MutableArrayRef< CounterMappingRegion >::operator[](), llvm::opt::OptTable::ParseArgs(), parseCond(), llvm::AsmLexer::peekTokens(), llvm::SystemZInstrInfo::PredicateInstruction(), llvm::PrintMessage(), ProcessSDDbgValues(), llvm::final< T >::Profile(), ProfileBitsInit(), ProfileListInit(), readInstruction16(), readInstruction32(), llvm::IndexedInstrProfReader::readNextRecord(), readWideAPInt(), recomputeLiveInValues(), regionReader(), relocationViaAlloca(), llvm::LiveIntervals::repairIntervalsInRange(), llvm::Interpreter::runFunction(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::SDNode::SDNode(), llvm::orc::remote::serialize(), llvm::StructType::setBody(), SimplifyExtractValueInst(), SimplifyGEPInst(), llvm::ArrayRef< Use >::slice(), llvm::MutableArrayRef< CounterMappingRegion >::slice(), splitAndLowerVectorShuffle(), llvm::SplitBlockPredecessors(), llvm::splitCodeGen(), llvm::SplitLandingPadPredecessors(), llvm::ARMBaseInstrInfo::SubsumesPredicate(), llvm::PPCInstrInfo::SubsumesPredicate(), SymbolicallyEvaluateGEP(), llvm::MD5::update(), llvm::SelectionDAG::UpdateNodeOperands(), UpdatePHINodes(), llvm::HexagonInstrInfo::validateBranchCond(), llvm::coverage::CoverageFilenamesSectionWriter::write(), llvm::coverage::CoverageMappingWriter::write(), llvm::codeview::TypeTableBuilder::writeArgumentList(), llvm::yaml::BinaryRef::writeAsBinary(), WriteDIExpression(), writeSymbolTable(), and llvm::codeview::TypeTableBuilder::writeVirtualTableShape().

template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::slice ( unsigned  N) const [inline]
template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::slice ( unsigned  N,
unsigned  M 
) const [inline]

slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array.

Reimplemented in llvm::MutableArrayRef< T >, and llvm::MutableArrayRef< CounterMappingRegion >.

Definition at line 169 of file ArrayRef.h.

template<typename T>
std::vector<T> llvm::ArrayRef< T >::vec ( ) const [inline]

Definition at line 187 of file ArrayRef.h.


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