Lines Matching refs:Attrs
453 ArrayRef<Attribute> Attrs) { in get() argument
454 if (Attrs.empty()) in get()
461 SmallVector<Attribute, 8> SortedAttrs(Attrs.begin(), Attrs.end()); in get()
590 ArrayRef<std::pair<unsigned, AttributeSetNode*> > Attrs) { in getImpl()
593 AttributeSetImpl::Profile(ID, Attrs); in getImpl()
604 Attrs.size()); in getImpl()
605 PA = new (Mem) AttributeSetImpl(C, Attrs); in getImpl()
614 ArrayRef<std::pair<unsigned, Attribute> > Attrs){ in get()
616 if (Attrs.empty()) in get()
620 for (unsigned i = 0, e = Attrs.size(); i != e; ++i) { in get()
621 assert((!i || Attrs[i-1].first <= Attrs[i].first) && in get()
623 assert(!Attrs[i].second.hasAttribute(Attribute::None) && in get()
631 for (ArrayRef<std::pair<unsigned, Attribute> >::iterator I = Attrs.begin(), in get()
632 E = Attrs.end(); I != E; ) { in get()
649 AttributeSetNode*> > Attrs) { in get()
651 if (Attrs.empty()) in get()
654 return getImpl(C, Attrs); in get()
663 SmallVector<std::pair<unsigned, Attribute>, 8> Attrs; in get() local
670 Attrs.push_back(std::make_pair(Index, Attribute:: in get()
673 Attrs.push_back(std::make_pair(Index, Attribute:: in get()
676 Attrs.push_back(std::make_pair(Index, in get()
680 Attrs.push_back( in get()
684 Attrs.push_back(std::make_pair(Index, Attribute::get(C, Kind))); in get()
689 Attrs.push_back( in get()
692 return get(C, Attrs); in get()
697 SmallVector<std::pair<unsigned, Attribute>, 8> Attrs; in get() local
700 Attrs.push_back(std::make_pair(Index, Attribute::get(C, *I))); in get()
701 return get(C, Attrs); in get()
704 AttributeSet AttributeSet::get(LLVMContext &C, ArrayRef<AttributeSet> Attrs) { in get() argument
705 if (Attrs.empty()) return AttributeSet(); in get()
706 if (Attrs.size() == 1) return Attrs[0]; in get()
709 AttributeSetImpl *A0 = Attrs[0].pImpl; in get()
716 for (unsigned I = 1, E = Attrs.size(); I != E; ++I) { in get()
717 AttributeSetImpl *AS = Attrs[I].pImpl; in get()
756 AttributeSet Attrs) const { in addAttributes()
757 if (!pImpl) return Attrs; in addAttributes()
758 if (!Attrs.pImpl) return *this; in addAttributes()
764 unsigned NewAlign = Attrs.getParamAlignment(Index); in addAttributes()
787 for (unsigned I = 0, E = Attrs.pImpl->getNumAttributes(); I != E; ++I) in addAttributes()
788 if (Attrs.getSlotIndex(I) == Index) { in addAttributes()
789 for (AttributeSetImpl::iterator II = Attrs.pImpl->begin(I), in addAttributes()
790 IE = Attrs.pImpl->end(I); II != IE; ++II) in addAttributes()
811 AttributeSet Attrs) const { in removeAttributes()
813 if (!Attrs.pImpl) return *this; in removeAttributes()
818 assert(!Attrs.hasAttribute(Index, Attribute::Alignment) && in removeAttributes()
840 for (unsigned I = 0, E = Attrs.pImpl->getNumAttributes(); I != E; ++I) in removeAttributes()
841 if (Attrs.getSlotIndex(I) == Index) { in removeAttributes()
842 B.removeAttributes(Attrs.pImpl->getSlotAttributes(I), Index); in removeAttributes()
1039 : Attrs(0), Alignment(0), StackAlignment(0), DerefBytes(0), in AttrBuilder()
1056 Attrs.reset(); in clear()
1065 Attrs[Val] = true; in addAttribute()
1076 Attrs[Kind] = true; in addAttribute()
1096 Attrs[Val] = false; in removeAttribute()
1124 Attrs[Kind] = false; in removeAttributes()
1159 Attrs[Attribute::Alignment] = true; in addAlignmentAttr()
1171 Attrs[Attribute::StackAlignment] = true; in addStackAlignmentAttr()
1179 Attrs[Attribute::Dereferenceable] = true; in addDereferenceableAttr()
1188 Attrs[Attribute::DereferenceableOrNull] = true; in addDereferenceableOrNullAttr()
1204 Attrs |= B.Attrs; in merge()
1218 return !Attrs.none() || !TargetDepAttrs.empty(); in hasAttributes()
1235 if (Attrs[I->getKindAsEnum()]) in hasAttributes()
1251 if (Attrs != B.Attrs) in operator ==()
1273 Attrs[I] = true; in addRawValue()