LLVM  4.0.0
Public Types | List of all members
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 <APInt.h>

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

Public Types

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

Public Member Functions

Constructors
 ArrayRef ()
 Construct an empty ArrayRef. More...
 
 ArrayRef (NoneType)
 Construct an empty ArrayRef from None. More...
 
 ArrayRef (const T &OneElt)
 Construct an ArrayRef from a single element. More...
 
 ArrayRef (const T *data, size_t length)
 Construct an ArrayRef from a pointer and length. More...
 
 ArrayRef (const T *begin, const T *end)
 Construct an ArrayRef from a range. More...
 
template<typename U >
 ArrayRef (const SmallVectorTemplateCommon< T, U > &Vec)
 Construct an ArrayRef from a SmallVector. More...
 
template<typename A >
 ArrayRef (const std::vector< T, A > &Vec)
 Construct an ArrayRef from a std::vector. More...
 
template<size_t N>
constexpr ArrayRef (const std::array< T, N > &Arr)
 Construct an ArrayRef from a std::array. More...
 
template<size_t N>
constexpr ArrayRef (const T(&Arr)[N])
 Construct an ArrayRef from a C array. More...
 
 ArrayRef (const std::initializer_list< T > &Vec)
 Construct an ArrayRef from a std::initializer_list. More...
 
template<typename U >
 ArrayRef (const ArrayRef< U * > &A, typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *=nullptr)
 Construct an ArrayRef<const T*> from ArrayRef<T*>. More...
 
template<typename U , typename DummyT >
 ArrayRef (const SmallVectorTemplateCommon< U *, DummyT > &Vec, typename std::enable_if< std::is_convertible< U *const *, T const * >::value >::type *=nullptr)
 Construct an ArrayRef<const T*> from a SmallVector<T*>. More...
 
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*>. More...
 
Simple Operations
iterator begin () const
 
iterator end () const
 
reverse_iterator rbegin () const
 
reverse_iterator rend () const
 
bool empty () const
 empty - Check if the array is empty. More...
 
const Tdata () const
 
size_t size () const
 size - Get the array size. More...
 
const Tfront () const
 front - Get the first element. More...
 
const Tback () const
 back - Get the last element. More...
 
template<typename Allocator >
ArrayRef< Tcopy (Allocator &A)
 
bool equals (ArrayRef RHS) const
 equals - Check for element-wise equality. More...
 
ArrayRef< Tslice (size_t N, size_t M) const
 slice(n, m) - Chop off the first N elements of the array, and keep M elements in the array. More...
 
ArrayRef< Tslice (size_t N) const
 slice(n) - Chop off the first N elements of the array. More...
 
ArrayRef< Tdrop_front (size_t N=1) const
 Drop the first N elements of the array. More...
 
ArrayRef< Tdrop_back (size_t N=1) const
 Drop the last N elements of the array. More...
 
template<class PredicateT >
ArrayRef< Tdrop_while (PredicateT Pred) const
 Return a copy of *this with the first N elements satisfying the given predicate removed. More...
 
template<class PredicateT >
ArrayRef< Tdrop_until (PredicateT Pred) const
 Return a copy of *this with the first N elements not satisfying the given predicate removed. More...
 
ArrayRef< Ttake_front (size_t N=1) const
 Return a copy of *this with only the first N elements. More...
 
ArrayRef< Ttake_back (size_t N=1) const
 Return a copy of *this with only the last N elements. More...
 
template<class PredicateT >
ArrayRef< Ttake_while (PredicateT Pred) const
 Return the first N elements of this Array that satisfy the given predicate. More...
 
template<class PredicateT >
ArrayRef< Ttake_until (PredicateT Pred) const
 Return the first N elements of this Array that don't satisfy the given predicate. More...
 
Operator Overloads
const Toperator[] (size_t Index) const
 
template<typename U >
std::enable_if< std::is_same
< U, T >::value, ArrayRef< T >
>::type & 
operator= (U &&Temporary)=delete
 Disallow accidental assignment from a temporary. More...
 
template<typename U >
std::enable_if< std::is_same
< U, T >::value, ArrayRef< T >
>::type & 
operator= (std::initializer_list< U >)=delete
 Disallow accidental assignment from a temporary. More...
 
Expensive Operations
std::vector< Tvec () const
 
Conversion operators
 operator std::vector< T > () const
 

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 33 of file APInt.h.

Member Typedef Documentation

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

Definition at line 36 of file ArrayRef.h.

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

Definition at line 35 of file ArrayRef.h.

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

Definition at line 39 of file ArrayRef.h.

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

Definition at line 37 of file ArrayRef.h.

Constructor & Destructor Documentation

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

Construct an empty ArrayRef.

Definition at line 53 of file ArrayRef.h.

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

Construct an empty ArrayRef from None.

Definition at line 56 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 59 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 63 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 67 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 74 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 80 of file ArrayRef.h.

template<typename T>
template<size_t N>
constexpr llvm::ArrayRef< T >::ArrayRef ( const std::array< T, N > &  Arr)
inline

Construct an ArrayRef from a std::array.

Definition at line 85 of file ArrayRef.h.

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

Construct an ArrayRef from a C array.

Definition at line 90 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 93 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 *  = nullptr 
)
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 100 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 *  = nullptr 
)
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 110 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 120 of file ArrayRef.h.

Member Function Documentation

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

back - Get the last element.

Definition at line 150 of file ArrayRef.h.

Referenced by llvm::object::ELFFile< ELFT >::getStringTable(), isSwitchDense(), and SimplifyGEPInst().

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

Definition at line 129 of file ArrayRef.h.

Referenced by llvm::lto::LTO::add(), llvm::AttributeSet::addAttribute(), llvm::SpillPlacement::addConstraints(), llvm::SpillPlacement::addLinks(), llvm::AArch64FunctionInfo::addLOHDirective(), llvm::SpillPlacement::addPrefSpill(), llvm::DebugLocEntry::addValues(), llvm::TargetLibraryInfoImpl::addVectorizableFunctions(), llvm::MachineIRBuilder::buildExtract(), buildExtractionBlockSet(), buildFixItLine(), llvm::MachineIRBuilder::buildSequence(), BuildSubAggregate(), llvm::Interpreter::callFunction(), llvm::LiveIntervals::checkRegMaskInterference(), llvm::UnOpInit::clone(), combineX86ShuffleChain(), combineX86ShufflesRecursively(), llvm::ComputeLinearIndex(), ConcatenateVectors(), llvm::ConstantAggregate::ConstantAggregate(), llvm::ConstantFoldGetElementPtr(), llvm::sys::UnicodeCharSet::contains(), llvm::convertUTF16ToUTF8String(), llvm::GlobalObject::copyMetadata(), llvm::DIBuilder::createExpression(), CreateGCRelocates(), llvm::discoverAndMapSubloop(), llvm::Instruction::dropUnknownNonDebugMetadata(), llvm::DIExpression::elements_begin(), llvm::MCDwarfFrameEmitter::Emit(), llvm::ArrayRef< uint64_t >::equals(), Find(), llvm::FindInsertedValue(), llvm::SchedBoundary::findMaxLatency(), llvm::gep_type_begin(), llvm::AttributeSetNode::get(), llvm::BitsInit::get(), llvm::ListInit::get(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getGEPCost(), llvm::ConstantExprKeyType::getHash(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getShuffleComment(), getStatepointArgs(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::ConstantExpr::getWithOperands(), llvm::hash_value(), hasValueBeenRAUWed(), llvm::cl::HideUnrelatedOptions(), initialize(), llvm::CallGraphSCC::initialize(), llvm::RegPressureTracker::initLiveThru(), llvm::ScheduleDAGMI::initQueues(), llvm::sroa::AllocaSlices::insert(), isAddSub(), isHorizontalBinOp(), llvm::LiveRange::isLiveAtIndexes(), llvm::LiveRange::isUndefIn(), llvm::libDriverMain(), lle_X_fprintf(), lle_X_printf(), Lookup(), llvm::Intrinsic::lookupLLVMIntrinsicByName(), llvm::AArch64CallLowering::lowerCall(), lowerV16I8VectorShuffle(), lowerV8I16GeneralSingleInputVectorShuffle(), lowerV8I16VectorShuffle(), LowerVECTOR_SHUFFLEv8i8(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleWithSHUFPS(), llvm::codeview::CodeViewRecordIO::mapByteVectorTail(), matchVectorShuffleAsInsertPS(), llvm::object::ExportEntry::nodeOffset(), llvm::OwningArrayRef< T >::OwningArrayRef(), llvm::opt::OptTable::ParseArgs(), ProfileDagInit(), propagateMetadata(), llvm::msf::StreamReader::readFixedString(), readWideAPInt(), llvm::msf::StreamReader::readZeroString(), llvm::MachineFunction::setCallSiteLandingPad(), llvm::MachineInstr::setPhysRegsDeadExcept(), llvm::SimplifyCall(), llvm::SelectionDAG::UpdateNodeOperands(), UpdatePHINodes(), llvm::codeview::VFTableRecord::VFTableRecord(), and writeToResolutionFile().

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

Definition at line 156 of file ArrayRef.h.

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

template<typename T>
const T* llvm::ArrayRef< T >::data ( ) const
inline

Definition at line 138 of file ArrayRef.h.

Referenced by llvm::ConstantFoldGetElementPtr(), llvm::StackMapV2Parser< Endianness >::constants_end(), llvm::convertUTF16ToUTF8String(), llvm::MutableArrayRef< llvm::coverage::CounterMappingRegion >::data(), eatBytes(), llvm::SimpleBitstreamCursor::fillCurWord(), llvm::StackMapV2Parser< Endianness >::functions_end(), llvm::ConstantDataArray::get(), llvm::ConstantDataVector::get(), llvm::codeview::getBytesAsCharacters(), llvm::StackMapV2Parser< Endianness >::getConstant(), llvm::ConstantDataArray::getFP(), llvm::ConstantDataVector::getFP(), llvm::StackMapV2Parser< Endianness >::getFunction(), llvm::ConstantExpr::getGetElementPtr(), llvm::DenseMapInfo< ArrayRef< T > >::getHashValue(), llvm::SimpleBitstreamCursor::getPointerToByte(), llvm::StackMapV2Parser< Endianness >::getRecord(), llvm::object::WasmObjectFile::getSectionContents(), llvm::object::MachOObjectFile::getSectionFinalSegmentName(), llvm::object::MachOObjectFile::getSectionName(), llvm::MipsTargetLowering::HandleByVal(), llvm::pdb::hashBufferV8(), llvm::DenseMapInfo< ArrayRef< T > >::isEqual(), llvm::Function::lookupIntrinsicID(), matchUnaryPermuteVectorShuffle(), llvm::object::MachORebaseEntry::operator==(), llvm::object::MachOBindEntry::operator==(), llvm::ScopedPrinter::printBinary(), llvm::msf::StreamReader::readArray(), llvm::msf::StreamReader::readObject(), llvm::msf::ByteStream::str(), takeObject(), llvm::MD5::update(), llvm::object::WasmObjectFile::WasmObjectFile(), llvm::msf::StreamWriter::writeArray(), llvm::yaml::BinaryRef::writeAsBinary(), llvm::msf::MutableByteStream::writeBytes(), and llvm::msf::WritableMappedBlockStream::writeBytes().

template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::drop_back ( size_t  N = 1) const
inline

Drop the last N elements of the array.

Definition at line 186 of file ArrayRef.h.

template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::drop_front ( size_t  N = 1) const
inline

Drop the first N elements of the array.

Definition at line 180 of file ArrayRef.h.

Referenced by llvm::codeview::CVRecord< TypeLeafKind >::content(), llvm::msf::MSFBuilder::setStreamSize(), takeObject(), and writeWithCommas().

template<typename T>
template<class PredicateT >
ArrayRef<T> llvm::ArrayRef< T >::drop_until ( PredicateT  Pred) const
inline

Return a copy of *this with the first N elements not satisfying the given predicate removed.

Definition at line 199 of file ArrayRef.h.

template<typename T>
template<class PredicateT >
ArrayRef<T> llvm::ArrayRef< T >::drop_while ( PredicateT  Pred) const
inline

Return a copy of *this with the first N elements satisfying the given predicate removed.

Definition at line 193 of file ArrayRef.h.

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

empty - Check if the array is empty.

Definition at line 136 of file ArrayRef.h.

Referenced by llvm::MachineIRBuilder::buildExtract(), buildFixItLine(), llvm::MachineIRBuilder::buildSequence(), combineX86ShuffleChain(), computeExcessPressureDelta(), llvm::ConstantFoldExtractValueInstruction(), llvm::ConstantFoldGetElementPtr(), llvm::ConstantFoldInsertValueInstruction(), llvm::convertUTF16ToUTF8String(), llvm::StructType::create(), CreateGCRelocates(), llvm::coverage::CounterMappingContext::dump(), llvm::WebAssemblyTargetAsmStreamer::emitLocal(), llvm::CodeViewContext::encodeInlineLineTable(), llvm::FindInsertedValue(), FoldCONCAT_VECTORS(), llvm::ARMAsmBackendDarwin::generateCompactUnwindEncoding(), llvm::AttributeSetNode::get(), llvm::AttributeSet::get(), llvm::ConstantStruct::get(), llvm::SubtargetFeatures::getFeatureBits(), getFPSequenceIfElementsMatch(), getIndexedTypeInternal(), getIntSequenceIfElementsMatch(), getOrSelfReference(), llvm::HexagonInstrInfo::getPredReg(), llvm::InstrProfReaderIndex< HashTableImpl >::getRecords(), llvm::codeview::VFTableShapeRecord::getSlots(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::Intrinsic::getType(), llvm::ConstantStruct::getTypeForElements(), llvm::ScheduleDAGMILive::initRegPressure(), llvm::WebAssemblyInstrInfo::insertBranch(), llvm::BPFInstrInfo::insertBranch(), llvm::XCoreInstrInfo::insertBranch(), llvm::MipsInstrInfo::insertBranch(), llvm::NVPTXInstrInfo::insertBranch(), llvm::SparcInstrInfo::insertBranch(), llvm::MSP430InstrInfo::insertBranch(), llvm::AVRInstrInfo::insertBranch(), llvm::HexagonInstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::LanaiInstrInfo::insertBranch(), llvm::R600InstrInfo::insertBranch(), llvm::PPCInstrInfo::insertBranch(), llvm::SystemZInstrInfo::insertBranch(), llvm::AArch64InstrInfo::insertBranch(), llvm::SIInstrInfo::insertBranch(), llvm::X86InstrInfo::insertBranch(), insertUseHolderAfter(), isInBoundsIndices(), llvm::LoadAndStorePromoter::LoadAndStorePromoter(), llvm::AArch64TargetLowering::lowerInterleavedLoad(), llvm::ARMTargetLowering::lowerInterleavedLoad(), llvm::X86TargetLowering::lowerInterleavedLoad(), lowerV8I16GeneralSingleInputVectorShuffle(), llvm::Intrinsic::matchIntrinsicType(), llvm::Intrinsic::matchIntrinsicVarArg(), llvm::raw_ostream::operator<<(), llvm::operator<<(), llvm::yaml::operator==(), llvm::HexagonInstrInfo::PredicateInstruction(), llvm::HexagonInstrInfo::predOpcodeHasNot(), llvm::PrintMessage(), llvm::PromoteMemToReg(), llvm::SIRegisterInfo::restoreSGPR(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), llvm::StructType::setBody(), llvm::SIRegisterInfo::spillSGPR(), llvm::splitCodeGen(), llvm::HexagonInstrInfo::validateBranchCond(), llvm::msf::StreamWriter::writeArray(), llvm::msf::MutableByteStream::writeBytes(), and writeWithCommas().

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

Definition at line 130 of file ArrayRef.h.

Referenced by llvm::lto::LTO::add(), llvm::AttributeSet::addAttribute(), llvm::SpillPlacement::addConstraints(), llvm::SpillPlacement::addLinks(), llvm::AArch64FunctionInfo::addLOHDirective(), llvm::SpillPlacement::addPrefSpill(), llvm::DebugLocEntry::addValues(), llvm::TargetLibraryInfoImpl::addVectorizableFunctions(), llvm::MachineIRBuilder::buildExtract(), buildExtractionBlockSet(), buildFixItLine(), llvm::MachineIRBuilder::buildSequence(), BuildSubAggregate(), llvm::Interpreter::callFunction(), llvm::LiveIntervals::checkRegMaskInterference(), combineX86ShuffleChain(), combineX86ShufflesRecursively(), llvm::ComputeLinearIndex(), ConcatenateVectors(), llvm::ConstantAggregate::ConstantAggregate(), llvm::ConstantFoldGetElementPtr(), llvm::sys::UnicodeCharSet::contains(), llvm::ConvertCostTableLookup(), llvm::convertUTF16ToUTF8String(), llvm::GlobalObject::copyMetadata(), llvm::CostTableLookup(), llvm::DIBuilder::createExpression(), CreateGCRelocates(), llvm::discoverAndMapSubloop(), llvm::Instruction::dropUnknownNonDebugMetadata(), llvm::DIExpression::elements_end(), llvm::MCDwarfFrameEmitter::Emit(), Find(), llvm::FindInsertedValue(), llvm::SchedBoundary::findMaxLatency(), llvm::gep_type_end(), llvm::AttributeSetNode::get(), llvm::BitsInit::get(), llvm::ListInit::get(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getGEPCost(), llvm::ConstantExprKeyType::getHash(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::DwarfCompileUnit::getOrCreateGlobalVariableDIE(), getRegLanes(), getShuffleComment(), getStatepointArgs(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::ConstantExpr::getWithOperands(), llvm::hash_value(), hasValueBeenRAUWed(), llvm::cl::HideUnrelatedOptions(), initialize(), llvm::CallGraphSCC::initialize(), llvm::RegPressureTracker::initLiveThru(), llvm::ScheduleDAGMI::initQueues(), llvm::sroa::AllocaSlices::insert(), isAddSub(), isEXTMask(), isHorizontalBinOp(), llvm::LiveRange::isLiveAtIndexes(), llvm::DataLayout::isNonIntegralPointerType(), llvm::LiveRange::isUndefIn(), llvm::libDriverMain(), lle_X_fprintf(), lle_X_printf(), Lookup(), llvm::Intrinsic::lookupLLVMIntrinsicByName(), llvm::AArch64CallLowering::lowerCall(), lowerV16I8VectorShuffle(), lowerV8I16GeneralSingleInputVectorShuffle(), lowerV8I16VectorShuffle(), LowerVECTOR_SHUFFLEv8i8(), lowerVectorShuffleAsBlend(), lowerVectorShuffleAsElementInsertion(), llvm::codeview::CodeViewRecordIO::mapByteVectorTail(), matchVectorShuffleAsInsertPS(), llvm::object::MachORebaseEntry::moveNext(), llvm::object::MachOBindEntry::moveNext(), llvm::OwningArrayRef< T >::OwningArrayRef(), llvm::opt::OptTable::ParseArgs(), ProfileDagInit(), propagateMetadata(), llvm::MachineFunction::setCallSiteLandingPad(), llvm::MachineInstr::setPhysRegsDeadExcept(), llvm::SimplifyCall(), llvm::SelectionDAG::UpdateNodeOperands(), UpdatePHINodes(), llvm::codeview::VFTableRecord::VFTableRecord(), and writeToResolutionFile().

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

equals - Check for element-wise equality.

Definition at line 163 of file ArrayRef.h.

Referenced by 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 263 of file ArrayRef.h.

template<typename T>
template<typename U >
std::enable_if<std::is_same<U, T>::value, ArrayRef<T> >::type& llvm::ArrayRef< T >::operator= ( U &&  Temporary)
delete

Disallow accidental assignment from a temporary.

The declaration here is extra complicated so that "arrayRef = {}" continues to select the move assignment operator.

Referenced by llvm::OwningArrayRef< T >::operator=().

template<typename T>
template<typename U >
std::enable_if<std::is_same<U, T>::value, ArrayRef<T> >::type& llvm::ArrayRef< T >::operator= ( std::initializer_list< U >  )
delete

Disallow accidental assignment from a temporary.

The declaration here is extra complicated so that "arrayRef = {}" continues to select the move assignment operator.

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

Definition at line 232 of file ArrayRef.h.

template<typename T>
reverse_iterator llvm::ArrayRef< T >::rbegin ( ) const
inline

Definition at line 132 of file ArrayRef.h.

Referenced by getNoopInput(), and llvm::ScheduleDAGMI::initQueues().

template<typename T>
reverse_iterator llvm::ArrayRef< T >::rend ( ) const
inline

Definition at line 133 of file ArrayRef.h.

Referenced by getNoopInput(), and llvm::ScheduleDAGMI::initQueues().

template<typename T>
size_t llvm::ArrayRef< T >::size ( ) const
inline

size - Get the array size.

Definition at line 141 of file ArrayRef.h.

Referenced by llvm::MachineFunction::addCatchTypeInfo(), llvm::pdb::DbiStreamBuilder::addDbgStream(), llvm::MachineFunction::addFilterTypeInfo(), llvm::InstCombineWorklist::AddInitialGroup(), addOperands(), llvm::msf::MSFBuilder::addStream(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateRegBlock(), llvm::CCState::AllocateStack(), allSameBlock(), allSameType(), llvm::SimpleBitstreamCursor::AtEndOfStream(), llvm::yaml::BinaryRef::binary_size(), llvm::MachineIRBuilder::buildExtract(), buildNew(), llvm::MachineIRBuilder::buildSequence(), llvm::Interpreter::callFunction(), CanEvaluateShuffled(), llvm::PPCInstrInfo::canInsertSelect(), llvm::AArch64InstrInfo::canInsertSelect(), llvm::SystemZInstrInfo::canInsertSelect(), llvm::X86InstrInfo::canInsertSelect(), canLowerByDroppingEvenElements(), canonicalizeShuffleMaskWithCommute(), llvm::SimpleBitstreamCursor::canSkipToPos(), canWidenShuffleElements(), llvm::CC_ARM_AAPCS_Custom_Aggregate(), CheckForLiveRegDefMasked(), llvm::UnOpInit::clone(), llvm::BinOpInit::clone(), llvm::TernOpInit::clone(), llvm::FunctionComparator::cmpOperations(), llvm::TargetLowering::DAGCombinerInfo::CombineTo(), combineX86ShuffleChain(), combineX86ShufflesConstants(), combineX86ShufflesRecursively(), llvm::ShuffleVectorSDNode::commuteMask(), llvm::ComputeEditDistance(), computeExcessPressureDelta(), computeMaxPressureDelta(), computeZeroableShuffleElements(), ConcatenateVectors(), llvm::ConstantAggregate::ConstantAggregate(), llvm::ConstantFoldGetElementPtr(), llvm::TypedInit::convertInitializerBitRange(), llvm::BitsInit::convertInitializerBitRange(), llvm::IntInit::convertInitializerBitRange(), llvm::TypedInit::convertInitListSlice(), llvm::ListInit::convertInitListSlice(), llvm::convertUTF16ToUTF8String(), llvm::GlobalObject::copyMetadata(), llvm::SIInstrInfo::copyPhysReg(), llvm::AArch64InstrInfo::copyPhysRegTuple(), llvm::GetElementPtrConstantExpr::Create(), llvm::GetElementPtrInst::Create(), llvm::CallInst::Create(), llvm::InvokeInst::Create(), llvm::CleanupPadInst::Create(), llvm::CatchPadInst::Create(), llvm::MDBuilder::createBranchWeights(), CreateGCRelocates(), llvm::IRBuilder< TargetFolder >::CreateGEP(), llvm::IRBuilder< TargetFolder >::CreateInBoundsGEP(), createIndexMap(), createPHIsForSplitLoopExit(), llvm::createSanitizerCtorAndInitFunctions(), llvm::MDBuilder::createTBAAStructNode(), DecodeIITType(), llvm::AMDGPUDisassembler::decodeLiteralConstant(), llvm::DecodePSHUFBMask(), DecodeRegisterClass(), llvm::DecodeVPERMIL2PMask(), llvm::DecodeVPERMILPMask(), llvm::DecodeVPERMV3Mask(), llvm::DecodeVPERMVMask(), llvm::DecodeVPPERMMask(), llvm::object::Decompressor::decompress(), llvm::dumpRegSetPressure(), eatBytes(), llvm::LiveRangeEdit::eliminateDeadDefs(), EltsFromConsecutiveLoads(), llvm::MCDwarfLineTableHeader::Emit(), llvm::BitstreamWriter::emitBlob(), llvm::WebAssemblyTargetELFStreamer::emitLocal(), llvm::coverage::CounterMappingContext::evaluate(), llvm::object::MachOObjectFile::exports(), llvm::LiveIntervals::extendToIndices(), llvm::SimpleBitstreamCursor::fillCurWord(), llvm::FindInsertedValue(), findLiveReferences(), llvm::wholeprogramdevirt::findLowestOffset(), FoldCONCAT_VECTORS(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::AArch64InstrInfo::foldMemoryOperandImpl(), llvm::SystemZInstrInfo::foldMemoryOperandImpl(), llvm::ARMAsmBackendDarwin::generateCompactUnwindEncoding(), llvm::FunctionType::get(), llvm::AttributeSet::get(), llvm::ConstantStruct::get(), llvm::ConstantVector::get(), llvm::BitsInit::get(), llvm::ListInit::get(), llvm::ConstantDataArray::get(), llvm::ConstantDataVector::get(), llvm::X86TTIImpl::getArithmeticInstrCost(), llvm::getBitcodeModuleList(), llvm::codeview::getBytesAsCharacters(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getCallCost(), getConstVector(), llvm::DIExpression::getElement(), llvm::codeview::VFTableShapeRecord::getEntryCount(), llvm::object::getExtendedSymbolTableIndex(), llvm::CCState::getFirstUnallocated(), llvm::ConstantDataArray::getFP(), llvm::ConstantDataVector::getFP(), llvm::TargetTransformInfoImplBase::getGEPCost(), llvm::ConstantExpr::getGetElementPtr(), getIndexedTypeInternal(), llvm::IndexedInstrProfReader::getInstrProfRecord(), llvm::AArch64Disassembler::getInstruction(), llvm::AMDGPUDisassembler::getInstruction(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getInterleavedMemoryOpCost(), llvm::X86TTIImpl::getInterleavedMemoryOpCostAVX512(), llvm::TargetTransformInfoImplCRTPBase< AMDGPUTTIImpl >::getIntrinsicCost(), llvm::Intrinsic::getIntrinsicInfoTableEntries(), llvm::BasicTTIImplBase< AMDGPUTTIImpl >::getIntrinsicInstrCost(), llvm::msf::ByteStream::getLength(), llvm::SelectionDAG::getMaskedGather(), llvm::SelectionDAG::getMaskedScatter(), llvm::SelectionDAG::getMergeValues(), llvm::SourceMgr::GetMessage(), llvm::SelectionDAG::getNode(), getNoopInput(), llvm::DIExpression::getNumElements(), llvm::pdb::PDBFile::getNumStreams(), llvm::DIBuilder::getOrCreateTypeArray(), getOrSelfReference(), llvm::HexagonInstrInfo::getPredReg(), llvm::ARMBaseRegisterInfo::getRegAllocationHints(), llvm::MachineTraceMetrics::Trace::getResourceDepth(), llvm::MachineTraceMetrics::Trace::getResourceLength(), getSameOpcode(), llvm::object::WasmObjectFile::getSectionContents(), llvm::object::WasmObjectFile::getSectionSize(), llvm::object::ELFFile< ELFT >::getSHNDXTable(), getStatepointArgs(), llvm::object::ELFFile< ELFT >::getStringTable(), llvm::ConstantStruct::getTypeForElements(), llvm::RegPressureTracker::getUpwardPressureDelta(), getV4X86ShuffleImm(), llvm::SelectionDAG::getVectorShuffle(), llvm::SelectionDAG::getVTList(), llvm::ConstantExpr::getWithOperands(), llvm::CallLowering::handleAssignments(), llvm::MipsTargetLowering::HandleByVal(), llvm::pdb::hashBufferV8(), llvm::hasUTF16ByteOrderMark(), hasUTF8ByteOrderMark(), llvm::WebAssemblyInstrInfo::insertBranch(), llvm::XCoreInstrInfo::insertBranch(), llvm::MipsInstrInfo::insertBranch(), llvm::NVPTXInstrInfo::insertBranch(), llvm::SparcInstrInfo::insertBranch(), llvm::MSP430InstrInfo::insertBranch(), llvm::AVRInstrInfo::insertBranch(), llvm::HexagonInstrInfo::insertBranch(), llvm::ARMBaseInstrInfo::insertBranch(), llvm::LanaiInstrInfo::insertBranch(), llvm::PPCInstrInfo::insertBranch(), llvm::SystemZInstrInfo::insertBranch(), llvm::X86InstrInfo::insertBranch(), llvm::PPCInstrInfo::insertSelect(), llvm::AArch64InstrInfo::insertSelect(), llvm::SystemZInstrInfo::insertSelect(), llvm::X86InstrInfo::insertSelect(), is128BitLaneCrossingShuffleMask(), isAlternateVectorMask(), isAltInst(), isDeInterleaveMask(), isDeInterleaveMaskOfFactor(), isInBoundsIndices(), isINSMask(), isNoopShuffleMask(), isReInterleaveMask(), isRepeatedShuffleMask(), isRepeatedTargetShuffleMask(), isReverseMask(), isReverseVectorMask(), isShuffleEquivalent(), isShuffleMaskInputInPlace(), isSingleSHUFPSMask(), isSingleSourceVectorMask(), isSplat(), isStridedLoad(), isSwitchDense(), isTargetShuffleEquivalent(), isVTBLMask(), isVTRN_v_undef_Mask(), isVTRNMask(), isVUZP_v_undef_Mask(), isVUZPMask(), isVZIP_v_undef_Mask(), isVZIPMask(), isZeroEltBroadcastVectorMask(), llvm::MCAssembler::layout(), llvm::codeview::CVRecord< TypeLeafKind >::length(), lle_X_atexit(), lle_X_fprintf(), lle_X_scanf(), lle_X_sscanf(), lower512BitVectorShuffle(), llvm::AArch64TargetLowering::lowerInterleavedLoad(), llvm::ARMTargetLowering::lowerInterleavedLoad(), llvm::X86TargetLowering::lowerInterleavedLoad(), lowerV16F32VectorShuffle(), lowerV16I16VectorShuffle(), lowerV16I32VectorShuffle(), lowerV16I8VectorShuffle(), lowerV2F64VectorShuffle(), lowerV2I64VectorShuffle(), lowerV32I16VectorShuffle(), lowerV32I8VectorShuffle(), lowerV4F32VectorShuffle(), lowerV4F64VectorShuffle(), lowerV4I32VectorShuffle(), lowerV4I64VectorShuffle(), lowerV64I8VectorShuffle(), lowerV8F32VectorShuffle(), lowerV8F64VectorShuffle(), lowerV8I16GeneralSingleInputVectorShuffle(), lowerV8I16VectorShuffle(), lowerV8I32VectorShuffle(), lowerV8I64VectorShuffle(), llvm::HexagonTargetLowering::LowerVECTOR_SHUFFLE(), lowerVectorShuffleAsBitBlend(), lowerVectorShuffleAsBitMask(), lowerVectorShuffleAsBlendAndPermute(), lowerVectorShuffleAsBlendOfPSHUFBs(), lowerVectorShuffleAsBroadcast(), lowerVectorShuffleAsByteRotate(), lowerVectorShuffleAsDecomposedShuffleBlend(), lowerVectorShuffleAsElementInsertion(), lowerVectorShuffleAsLanePermuteAndBlend(), lowerVectorShuffleAsPermuteAndUnpack(), lowerVectorShuffleAsShift(), lowerVectorShuffleAsSpecificZeroOrAnyExtend(), lowerVectorShuffleAsSplitOrBlend(), lowerVectorShuffleAsZeroOrAnyExtend(), lowerVectorShuffleByMerging128BitLanes(), lowerVectorShuffleWithPSHUFB(), lowerVectorShuffleWithSSE4A(), llvm::TargetLowering::makeLibCall(), matchBinaryPermuteVectorShuffle(), llvm::Intrinsic::matchIntrinsicVarArg(), matchUnaryPermuteVectorShuffle(), matchUnaryVectorShuffle(), matchVectorShuffleAsInsertPS(), matchVectorShuffleAsRotate(), matchVectorShuffleAsShift(), llvm::raw_ostream::operator<<(), llvm::opt::OptTable::ParseArgs(), parseCond(), llvm::AsmLexer::peekTokens(), llvm::SystemZInstrInfo::PredicateInstruction(), llvm::ScopedPrinter::printBinary(), llvm::PrintMessage(), ProcessSDDbgValues(), ProfileBitsInit(), ProfileListInit(), propagateIRFlags(), llvm::propagateMetadata(), llvm::msf::ByteStream::readBytes(), llvm::msf::StreamReader::readFixedString(), readInstruction16(), readInstruction32(), readInstruction64(), llvm::msf::StreamReader::readLongestContiguousChunk(), llvm::msf::ByteStream::readLongestContiguousChunk(), llvm::msf::ReadableStreamRef::readLongestContiguousChunk(), llvm::IndexedInstrProfReader::readNextRecord(), readWideAPInt(), llvm::msf::StreamReader::readZeroString(), recomputeLiveInValues(), regionReader(), relocationViaAlloca(), remapIndex(), llvm::LiveIntervals::repairIntervalsInRange(), llvm::SIRegisterInfo::restoreSGPR(), llvm::Interpreter::runFunction(), llvm::orc::OrcMCJITReplacement::runFunction(), llvm::MCJIT::runFunction(), scaleShuffleMask(), llvm::StructType::setBody(), SimplifyExtractValueInst(), SimplifyGEPInst(), llvm::SimpleBitstreamCursor::skipToEnd(), llvm::SIRegisterInfo::spillSGPR(), splitAndLowerVectorShuffle(), llvm::SplitBlockPredecessors(), llvm::splitCodeGen(), llvm::SplitLandingPadPredecessors(), llvm::msf::ByteStream::str(), llvm::ARMBaseInstrInfo::SubsumesPredicate(), llvm::PPCInstrInfo::SubsumesPredicate(), takeObject(), llvm::MD5::update(), llvm::SelectionDAG::UpdateNodeOperands(), UpdatePHINodes(), llvm::HexagonInstrInfo::validateBranchCond(), llvm::codeview::TypeDumpVisitor::visitUnknownType(), llvm::object::WasmObjectFile::WasmObjectFile(), llvm::coverage::CoverageMappingWriter::write(), llvm::msf::StreamWriter::writeArray(), llvm::yaml::BinaryRef::writeAsBinary(), llvm::msf::StreamWriter::writeBytes(), llvm::msf::MutableByteStream::writeBytes(), llvm::msf::WritableMappedBlockStream::writeBytes(), llvm::msf::WritableStreamRef::writeBytes(), writeSymbolTable(), and writeWithCommas().

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

slice(n) - Chop off the first N elements of the array.

Definition at line 177 of file ArrayRef.h.

Referenced by llvm::ArrayRef< uint64_t >::slice().

template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::take_back ( size_t  N = 1) const
inline

Return a copy of *this with only the last N elements.

Definition at line 211 of file ArrayRef.h.

template<typename T>
ArrayRef<T> llvm::ArrayRef< T >::take_front ( size_t  N = 1) const
inline

Return a copy of *this with only the first N elements.

Definition at line 204 of file ArrayRef.h.

Referenced by llvm::msf::SequencedItemStream< codeview::CVType >::readBytes(), and writeWithCommas().

template<typename T>
template<class PredicateT >
ArrayRef<T> llvm::ArrayRef< T >::take_until ( PredicateT  Pred) const
inline

Return the first N elements of this Array that don't satisfy the given predicate.

Definition at line 225 of file ArrayRef.h.

template<typename T>
template<class PredicateT >
ArrayRef<T> llvm::ArrayRef< T >::take_while ( PredicateT  Pred) const
inline

Return the first N elements of this Array that satisfy the given predicate.

Definition at line 219 of file ArrayRef.h.

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

Definition at line 256 of file ArrayRef.h.


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