Searched defs:SmallVector (Results 1 - 7 of 7) sorted by relevance

/freebsd-10.1-release/contrib/llvm/include/llvm/ADT/
H A DArrayRef.h290 ArrayRef<T> makeArrayRef(const SmallVector<T, N> &Vec) { argument
H A DSmallVector.h880 class SmallVector class in namespace:llvm
884 SmallVector() : SmallVectorImpl<T>(N) { function in class:llvm::SmallVector
887 explicit SmallVector(unsigned Size, const T &Value = T()) function in class:llvm::SmallVector
893 SmallVector(ItTy S, ItTy E) : SmallVectorImpl<T>(N) { function in class:llvm::SmallVector
897 SmallVector(const SmallVector &RHS) : SmallVectorImpl<T>(N) { function in class:llvm::SmallVector
908 SmallVector(SmallVector &&RHS) : SmallVectorImpl<T>(N) { function in class:llvm::SmallVector
922 capacity_in_bytes(const SmallVector<T, N> &X) argument
[all...]
/freebsd-10.1-release/contrib/llvm/include/llvm/CodeGen/
H A DLiveInterval.h161 assert(S < E && �); } bool contains(SlotIndex I) const { return start <= I && I < end; } bool containsInterval(SlotIndex S, SlotIndex E) const { assert((S < E) && �); return (start <= S && S < end) && (start < E && E <= end); } bool operator<(const Segment &Other) const { return start < Other.start || (start == Other.start && end < Other.end); } bool operator==(const Segment &Other) const { return start == Other.start && end == Other.end; } void dump() const; }; typedef SmallVector<Segment,4> Segments; typedef SmallVector<VNInfo*,4> VNInfoList; Segments segments; VNInfoList valnos; typedef Segments::iterator iterator; iterator begin() { return segments.begin(); } iterator end() { return segments.end(); } typedef Segments::const_iterator const_iterator; const_iterator begin() const { return segments.begin(); } const_iterator end() const { return segments.end(); } typedef VNInfoList::iterator vni_iterator; vni_iterator vni_begin() { return valnos.begin(); } vni_iterator vni_end() { return valnos.end(); } typedef VNInfoList::const_iterator const_vni_iterator; const_vni_iterator vni_begin() const { return valnos.begin(); } const_vni_iterator vni_end() const { return valnos.end(); } iterator advanceTo(iterator I, SlotIndex Pos) { assert(I != end()); if (Pos >= endIndex()) return end(); while (I->end <= Pos) ++I; return I; } iterator find(SlotIndex Pos); const_iterator find(SlotIndex Pos) const { return const_cast<LiveRange*>(this)->find(Pos); } void clear() { valnos.clear(); segments.clear(); } size_t size() const { return segments.size(); } bool hasAtLeastOneValue() const { return !valnos.empty(); } bool containsOneValue() const { return valnos.size() == 1; } unsigned getNumValNums() const { return (unsigned)valnos.size(); } inline VNInfo *getValNumInfo(unsigned ValNo) { return valnos[ValNo]; } inline const VNInfo *getValNumInfo(unsigned ValNo) const { return valnos[ValNo]; } bool containsValue(const VNInfo *VNI) const { return VNI && VNI->id < getNumValNums() && VNI == getValNumInfo(VNI->id); } VNInfo *getNextValue(SlotIndex def, VNInfo::Allocator &VNInfoAllocator) { VNInfo *VNI = new (VNInfoAllocator) VNInfo((unsigned)valnos.size(), def); valnos.push_back(VNI); return VNI; } VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator &VNInfoAllocator); VNInfo *createValueCopy(const VNInfo *orig, VNInfo::Allocator &VNInfoAllocator) { VNInfo *VNI = new (VNInfoAllocator) VNInfo((unsigned)valnos.size(), *orig); valnos.push_back(VNI); return VNI; } void RenumberValues(); VNInfo* MergeValueNumberInto(VNInfo *V1, VNInfo *V2); void MergeSegmentsInAsValue(const LiveRange &RHS, VNInfo *LHSValNo); void MergeValueInAsValue(const LiveRange &RHS, const VNInfo *RHSValNo, VNInfo *LHSValNo); bool empty() const { return segments.empty(); } SlotIndex beginIndex() const { assert(!empty() && �); return segments.front().start; } SlotIndex endIndex() const { assert(!empty() && �); return segments.back().end; } bool expiredAt(SlotIndex index) const { return index >= endIndex(); } bool liveAt(SlotIndex index) const { const_iterator r = find(index); return r != end() && r->start <= index; } const Segment *getSegmentContaining(SlotIndex Idx) const { const_iterator I = FindSegmentContaining(Idx); return I == end() ? 0 : &*I; } Segment *getSegmentContaining(SlotIndex Idx) { iterator I = FindSegmentContaining(Idx); return I == end() ? 0 : &*I; } VNInfo *getVNInfoAt(SlotIndex Idx) const { const_iterator I = FindSegmentContaining(Idx); return I == end() ? 0 : I->valno; } VNInfo *getVNInfoBefore(SlotIndex Idx) const { const_iterator I = FindSegmentContaining(Idx.getPrevSlot()); return I == end() ? 0 : I->valno; } iterator FindSegmentContaining(SlotIndex Idx) { iterator I = find(Idx); return I != end() && I->start <= Idx ? I : end(); } const_iterator FindSegmentContaining(SlotIndex Idx) const { const_iterator I = find(Idx); return I != end() && I->start <= Idx ? I : end(); } bool overlaps(const LiveRange &other) const { if (other.empty()) return false; return overlapsFrom(other, other.begin()); } bool overlaps(const LiveRange &Other, const CoalescerPair &CP, const SlotIndexes&) const; bool overlaps(SlotIndex Start, SlotIndex End) const; bool overlapsFrom(const LiveRange &Other, const_iterator I) const; iterator addSegment(Segment S) { return addSegmentFrom(S, segments.begin()); } VNInfo *extendInBlock(SlotIndex StartIdx, SlotIndex Kill); void join(LiveRange &Other, const int *ValNoAssignments, const int *RHSValNoAssignments, SmallVectorImpl<VNInfo *> &NewVNInfo); bool isLocal(SlotIndex Start, SlotIndex End) const { return beginIndex() > Start.getBaseIndex() && endIndex() < End.getBoundaryIndex(); } void removeSegment(SlotIndex Start, SlotIndex End, bool RemoveDeadValNo = false); void removeSegment(Segment S, bool RemoveDeadValNo = false) { removeSegment(S.start, S.end, RemoveDeadValNo); } LiveQueryResult Query(SlotIndex Idx) const { const_iterator I = find(Idx.getBaseIndex()); const_iterator E = end(); if (I == E) return LiveQueryResult(0, 0, SlotIndex(), false); VNInfo *EarlyVal = 0; VNInfo *LateVal = 0; SlotIndex EndPoint; bool Kill = false; if (I->start <= Idx.getBaseIndex()) { EarlyVal = I->valno; EndPoint = I->end; if (SlotIndex::isSameInstr(Idx, I->end)) { Kill = true; if (++I == E) return LiveQueryResult(EarlyVal, LateVal, EndPoint, Kill); } if (EarlyVal->def == Idx.getBaseIndex()) EarlyVal = 0; } if (!SlotIndex::isEarlierInstr(Idx, I->start) argument
/freebsd-10.1-release/contrib/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAGBuilder.cpp611 RegsForValue(const SmallVector<unsigned, 4> &regs, argument
[all...]
/freebsd-10.1-release/contrib/llvm/tools/clang/lib/Lex/
H A DLiteralSupport.cpp893 assert(C < radix && �); CharVal = C; OldVal = Val; Val *= RadixVal; OverflowOccurred |= Val.udiv(RadixVal) != OldVal; Val += CharVal; OverflowOccurred |= Val.ult(CharVal); } return OverflowOccurred; } llvm::APFloat::opStatus NumericLiteralParser::GetFloatValue(llvm::APFloat &Result) { using llvm::APFloat; unsigned n = std::min(SuffixBegin - ThisTokBegin, ThisTokEnd - ThisTokBegin); llvm::SmallString<16> Buffer; StringRef Str(ThisTokBegin, n); if (Str.find(�) != StringRef::npos) { Buffer.reserve(n); std::remove_copy_if(Str.begin(), Str.end(), std::back_inserter(Buffer), &isDigitSeparator); Str = Buffer; } return Result.convertFromString(Str, APFloat::rmNearestTiesToEven); } CharLiteralParser::CharLiteralParser(const char *begin, const char *end, SourceLocation Loc, Preprocessor &PP, tok::TokenKind kind) { HadError = false; Kind = kind; const char *TokBegin = begin; if (Kind != tok::char_constant) { ++begin; } assert(begin[0] == � && �); ++begin; if (end[-1] != �) { const char *UDSuffixEnd = end; do { --end; } while (end[-1] != �); UDSuffixBuf.assign(end, UDSuffixEnd); UDSuffixOffset = end - TokBegin; } assert(end != begin && �); --end; assert(PP.getTargetInfo().getCharWidth() == 8 && �); assert(PP.getTargetInfo().getIntWidth() <= 64 && (PP.getTargetInfo().getIntWidth() & 7) == 0 && �); assert(PP.getTargetInfo().getWCharWidth() <= 64 && �); SmallVector<uint32_t, 4> codepoint_buffer; codepoint_buffer.resize(end - begin); uint32_t *buffer_begin = &codepoint_buffer.front(); uint32_t *buffer_end = buffer_begin + codepoint_buffer.size(); uint32_t largest_character_for_kind; if (tok::wide_char_constant == Kind) { largest_character_for_kind = 0xFFFFFFFFu >> (32-PP.getTargetInfo().getWCharWidth()); } else if (tok::utf16_char_constant == Kind) { largest_character_for_kind = 0xFFFF; } else if (tok::utf32_char_constant == Kind) { largest_character_for_kind = 0x10FFFF; } else { largest_character_for_kind = 0x7Fu; } while (begin != end) { if (begin[0] != �) { char const *start = begin; do { ++begin; } while (begin != end && *begin != �); char const *tmp_in_start = start; uint32_t *tmp_out_start = buffer_begin; ConversionResult res = ConvertUTF8toUTF32(reinterpret_cast<UTF8 const **>(&start), reinterpret_cast<UTF8 const *>(begin), &buffer_begin, buffer_end, strictConversion); if (res != conversionOK) { bool NoErrorOnBadEncoding = isAscii(); unsigned Msg = diag::err_bad_character_encoding; if (NoErrorOnBadEncoding) Msg = diag::warn_bad_character_encoding; PP.Diag(Loc, Msg); if (NoErrorOnBadEncoding) { start = tmp_in_start; buffer_begin = tmp_out_start; for (; start != begin; ++start, ++buffer_begin) *buffer_begin = static_cast<uint8_t>(*start); } else { HadError = true; } } else { for (; tmp_out_start < buffer_begin; ++tmp_out_start) { if (*tmp_out_start > largest_character_for_kind) { HadError = true; PP.Diag(Loc, diag::err_character_too_large); } } } continue; } if (begin[1] == � || begin[1] == �) { unsigned short UcnLen = 0; if (!ProcessUCNEscape(TokBegin, begin, end, *buffer_begin, UcnLen, FullSourceLoc(Loc, PP.getSourceManager()), &PP.getDiagnostics(), PP.getLangOpts(), true)) { HadError = true; } else if (*buffer_begin > largest_character_for_kind) argument
/freebsd-10.1-release/contrib/llvm/lib/IR/
H A DConstantsContext.h169 ExtractValueConstantExpr(Constant *Agg, const SmallVector<unsigned, 4> &IdxList, Type *DestTy) argument
195 InsertValueConstantExpr(Constant *Agg, Constant *Val, const SmallVector<unsigned, 4> &IdxList, Type *DestTy) argument
/freebsd-10.1-release/contrib/llvm/lib/Target/X86/
H A DX86ISelLowering.cpp19330 clobbersFlagRegisters(const SmallVector<StringRef, 4> &AsmPieces) argument
[all...]

Completed in 126 milliseconds