Home | History | Annotate | Download | only in IR

Lines Matching refs:Attrs

405                                         ArrayRef<Attribute> Attrs) {
406 if (Attrs.empty())
413 SmallVector<Attribute, 8> SortedAttrs(Attrs.begin(), Attrs.end());
532 ArrayRef<std::pair<unsigned, AttributeSetNode*> > Attrs) {
535 AttributeSetImpl::Profile(ID, Attrs);
543 PA = new AttributeSetImpl(C, Attrs);
552 ArrayRef<std::pair<unsigned, Attribute> > Attrs){
554 if (Attrs.empty())
558 for (unsigned i = 0, e = Attrs.size(); i != e; ++i) {
559 assert((!i || Attrs[i-1].first <= Attrs[i].first) &&
561 assert(!Attrs[i].second.hasAttribute(Attribute::None) &&
569 for (ArrayRef<std::pair<unsigned, Attribute> >::iterator I = Attrs.begin(),
570 E = Attrs.end(); I != E; ) {
587 AttributeSetNode*> > Attrs) {
589 if (Attrs.empty())
592 return getImpl(C, Attrs);
600 SmallVector<std::pair<unsigned, Attribute>, 8> Attrs;
607 Attrs.push_back(std::make_pair(Idx, Attribute::
610 Attrs.push_back(std::make_pair(Idx, Attribute::
613 Attrs.push_back(std::make_pair(Idx, Attribute::get(C, Kind)));
619 Attrs.push_back(std::make_pair(Idx, Attribute::get(C, I->first,I->second)));
621 return get(C, Attrs);
626 SmallVector<std::pair<unsigned, Attribute>, 8> Attrs;
629 Attrs.push_back(std::make_pair(Idx, Attribute::get(C, *I)));
630 return get(C, Attrs);
633 AttributeSet AttributeSet::get(LLVMContext &C, ArrayRef<AttributeSet> Attrs) {
634 if (Attrs.empty()) return AttributeSet();
637 for (unsigned I = 0, E = Attrs.size(); I != E; ++I) {
638 AttributeSet AS = Attrs[I];
660 AttributeSet Attrs) const {
661 if (!pImpl) return Attrs;
662 if (!Attrs.pImpl) return *this;
668 unsigned NewAlign = Attrs.getParamAlignment(Idx);
691 for (unsigned I = 0, E = Attrs.pImpl->getNumAttributes(); I != E; ++I)
692 if (Attrs.getSlotIndex(I) == Idx) {
693 for (AttributeSetImpl::const_iterator II = Attrs.pImpl->begin(I),
694 IE = Attrs.pImpl->end(I); II != IE; ++II)
715 AttributeSet Attrs) const {
717 if (!Attrs.pImpl) return *this;
722 assert(!Attrs.hasAttribute(Idx, Attribute::Alignment) &&
744 for (unsigned I = 0, E = Attrs.pImpl->getNumAttributes(); I != E; ++I)
745 if (Attrs.getSlotIndex(I) == Idx) {
746 B.removeAttributes(Attrs.pImpl->getSlotAttributes(I), Idx);
923 : Attrs(0), Alignment(0), StackAlignment(0) {
939 Attrs.reset();
947 Attrs[Val] = true;
958 Attrs[Kind] = true;
974 Attrs[Val] = false;
998 Attrs[Kind] = false;
1029 Attrs[Attribute::Alignment] = true;
1041 Attrs[Attribute::StackAlignment] = true;
1054 Attrs |= B.Attrs;
1068 return !Attrs.none() || !TargetDepAttrs.empty();
1085 if (Attrs[I->getKindAsEnum()])
1101 if (Attrs != B.Attrs)
1146 Attrs[I] = true;