Home | History | Annotate | Download | only in IR

Lines Matching refs:Index

574 uint64_t AttributeSetImpl::Raw(unsigned Index) const {
576 if (getSlotIndex(I) != Index) continue;
657 unsigned Index = I->first;
659 while (I != E && I->first == Index) {
664 AttrPairVec.push_back(std::make_pair(Index,
681 AttributeSet AttributeSet::get(LLVMContext &C, unsigned Index,
712 Attrs.push_back(std::make_pair(Index, Attr));
718 std::make_pair(Index, Attribute::get(C, TDA.first, TDA.second)));
723 AttributeSet AttributeSet::get(LLVMContext &C, unsigned Index,
727 Attrs.push_back(std::make_pair(Index, Attribute::get(C, K)));
740 // ordered by index. Because we know that each list in Attrs is ordered by
741 // index we only need to merge each successive list in rather than doing a
761 AttributeSet AttributeSet::addAttribute(LLVMContext &C, unsigned Index,
763 if (hasAttribute(Index, Attr)) return *this;
764 return addAttributes(C, Index, AttributeSet::get(C, Index, Attr));
767 AttributeSet AttributeSet::addAttribute(LLVMContext &C, unsigned Index,
771 return addAttributes(C, Index, AttributeSet::get(C, Index, B));
774 AttributeSet AttributeSet::addAttribute(LLVMContext &C, unsigned Index,
778 return addAttributes(C, Index, AttributeSet::get(C, Index, B));
811 AttributeSet AttributeSet::addAttributes(LLVMContext &C, unsigned Index,
819 unsigned OldAlign = getParamAlignment(Index);
820 unsigned NewAlign = Attrs.getParamAlignment(Index);
831 if (getSlotIndex(I) >= Index) {
832 if (getSlotIndex(I) == Index) AS = getSlotAttributes(LastIndex++);
841 AttrBuilder B(AS, Index);
844 if (Attrs.getSlotIndex(I) == Index) {
851 AttrSet.push_back(AttributeSet::get(C, Index, B));
860 AttributeSet AttributeSet::removeAttribute(LLVMContext &C, unsigned Index,
862 if (!hasAttribute(Index, Attr)) return *this;
863 return removeAttributes(C, Index, AttributeSet::get(C, Index, Attr));
866 AttributeSet AttributeSet::removeAttributes(LLVMContext &C, unsigned Index,
873 assert(!Attrs.hasAttribute(Index, Attribute::Alignment) &&
882 if (getSlotIndex(I) >= Index) {
883 if (getSlotIndex(I) == Index) AS = getSlotAttributes(LastIndex++);
892 AttrBuilder B(AS, Index);
895 if (Attrs.getSlotIndex(I) == Index) {
896 B.removeAttributes(Attrs.pImpl->getSlotAttributes(I), Index);
900 AttrSet.push_back(AttributeSet::get(C, Index, B));
909 AttributeSet AttributeSet::removeAttributes(LLVMContext &C, unsigned Index,
923 if (getSlotIndex(I) >= Index) {
924 if (getSlotIndex(I) == Index) AS = getSlotAttributes(LastIndex++);
933 AttrBuilder B(AS, Index);
936 AttrSet.push_back(AttributeSet::get(C, Index, B));
945 AttributeSet AttributeSet::addDereferenceableAttr(LLVMContext &C, unsigned Index,
949 return addAttributes(C, Index, AttributeSet::get(C, Index, B));
953 unsigned Index,
957 return addAttributes(C, Index, AttributeSet::get(C, Index, B));
968 AttributeSet AttributeSet::getParamAttributes(unsigned Index) const {
969 return pImpl && hasAttributes(Index) ?
972 std::make_pair(Index, getAttributes(Index)))) :
994 bool AttributeSet::hasAttribute(unsigned Index, Attribute::AttrKind Kind) const{
995 AttributeSetNode *ASN = getAttributes(Index);
999 bool AttributeSet::hasAttribute(unsigned Index, StringRef Kind) const {
1000 AttributeSetNode *ASN = getAttributes(Index);
1004 bool AttributeSet::hasAttributes(unsigned Index) const {
1005 AttributeSetNode *ASN = getAttributes(Index);
1023 Attribute AttributeSet::getAttribute(unsigned Index,
1025 AttributeSetNode *ASN = getAttributes(Index);
1029 Attribute AttributeSet::getAttribute(unsigned Index,
1031 AttributeSetNode *ASN = getAttributes(Index);
1035 unsigned AttributeSet::getParamAlignment(unsigned Index) const {
1036 AttributeSetNode *ASN = getAttributes(Index);
1040 unsigned AttributeSet::getStackAlignment(unsigned Index) const {
1041 AttributeSetNode *ASN = getAttributes(Index);
1045 uint64_t AttributeSet::getDereferenceableBytes(unsigned Index) const {
1046 AttributeSetNode *ASN = getAttributes(Index);
1050 uint64_t AttributeSet::getDereferenceableOrNullBytes(unsigned Index) const {
1051 AttributeSetNode *ASN = getAttributes(Index);
1055 std::string AttributeSet::getAsString(unsigned Index,
1057 AttributeSetNode *ASN = getAttributes(Index);
1061 /// \brief The attributes for the specified index are returned.
1062 AttributeSetNode *AttributeSet::getAttributes(unsigned Index) const {
1067 if (pImpl->getSlotIndex(I) == Index)
1108 uint64_t AttributeSet::Raw(unsigned Index) const {
1110 return pImpl ? pImpl->Raw(Index) : 0;
1117 uint64_t Index = getSlotIndex(i);
1119 if (Index == ~0U)
1122 dbgs() << Index;
1123 dbgs() << " => " << getAsString(Index) << " }\n";
1133 AttrBuilder::AttrBuilder(AttributeSet AS, unsigned Index)
1140 if (pImpl->getSlotIndex(I) != Index) continue;
1206 AttrBuilder &AttrBuilder::removeAttributes(AttributeSet A, uint64_t Index) {
1209 if (A.getSlotIndex(I) == Index) {
1214 assert(Slot != ~0U && "Couldn't find index in AttributeSet!");
1341 bool AttrBuilder::hasAttributes(AttributeSet A, uint64_t Index) const {
1344 if (A.getSlotIndex(I) == Index) {
1349 assert(Slot != ~0U && "Couldn't find the index!");