const AttributeSet &A = Attrs[i];
for (unsigned i = 0, e = A.getNumSlots(); i != e; ++i) {
const AttributeWithIndex &PAWI = A.getSlot(i);
- Record.push_back(PAWI.Index);
+ Record.push_back(A.getSlotIndex(i));
Record.push_back(Attribute::encodeLLVMAttributesForBitcode(PAWI.Attrs));
}
void AttributeSet::dump() const {
dbgs() << "PAL[ ";
for (unsigned i = 0; i < getNumSlots(); ++i) {
- const AttributeWithIndex &PAWI = getSlot(i);
- dbgs() << "{ " << PAWI.Index << ", " << PAWI.Attrs.getAsString() << " } ";
+ unsigned Index = getSlotIndex(i);
+ dbgs() << "{ " << Index << " => " << getAsString(Index) << " } ";
}
dbgs() << "]\n";
Out << "SmallVector<AttributeWithIndex, 4> Attrs;"; nl(Out);
Out << "AttributeWithIndex PAWI;"; nl(Out);
for (unsigned i = 0; i < PAL.getNumSlots(); ++i) {
- unsigned index = PAL.getSlot(i).Index;
+ unsigned index = PAL.getSlotIndex(i);
AttrBuilder attrs(PAL.getSlot(i).Attrs);
Out << "PAWI.Index = " << index << "U;\n";
Out << " {\n AttrBuilder B;\n";
// Drop any attributes that were on the vararg arguments.
AttributeSet PAL = CS.getAttributes();
- if (!PAL.isEmpty() && PAL.getSlot(PAL.getNumSlots() - 1).Index > NumArgs) {
+ if (!PAL.isEmpty() && PAL.getSlotIndex(PAL.getNumSlots() - 1) > NumArgs) {
SmallVector<AttributeWithIndex, 8> AttributesVec;
- for (unsigned i = 0; PAL.getSlot(i).Index <= NumArgs; ++i)
+ for (unsigned i = 0; PAL.getSlotIndex(i) <= NumArgs; ++i)
AttributesVec.push_back(PAL.getSlot(i));
if (PAL.hasAttributes(AttributeSet::FunctionIndex))
AttributesVec.push_back(AttributeWithIndex::get(Fn.getContext(),
continue;
// There can be only one.
- return Attrs.removeAttribute(C, Attrs.getSlot(i).Index, Attribute::Nest);
+ return Attrs.removeAttribute(C, Attrs.getSlotIndex(i), Attribute::Nest);
}
return Attrs;
// won't be dropping them. Check that these extra arguments have attributes
// that are compatible with being a vararg call argument.
for (unsigned i = CallerPAL.getNumSlots(); i; --i) {
- if (CallerPAL.getSlot(i - 1).Index <= FT->getNumParams())
+ if (CallerPAL.getSlotIndex(i - 1) <= FT->getNumParams())
break;
Attribute PAttrs = CallerPAL.getSlot(i - 1).Attrs;
// Check if it has an attribute that's incompatible with varargs.