- const ParamAttrsList *PAL = CS.getParamAttrs();
- if (PAL && PAL->getParamIndex(PAL->size() - 1) > NumArgs) {
- ParamAttrsVector ParamAttrsVec;
- for (unsigned i = 0; PAL->getParamIndex(i) <= NumArgs; ++i) {
- ParamAttrsWithIndex PAWI;
- PAWI = ParamAttrsWithIndex::get(PAL->getParamIndex(i),
- PAL->getParamAttrsAtIndex(i));
- ParamAttrsVec.push_back(PAWI);
- }
- PAL = ParamAttrsList::get(ParamAttrsVec);
+ PAListPtr PAL = CS.getParamAttrs();
+ if (!PAL.isEmpty() && PAL.getSlot(PAL.getNumSlots() - 1).Index > NumArgs) {
+ SmallVector<ParamAttrsWithIndex, 8> ParamAttrsVec;
+ for (unsigned i = 0; PAL.getSlot(i).Index <= NumArgs; ++i)
+ ParamAttrsVec.push_back(PAL.getSlot(i));
+ PAL = PAListPtr::get(ParamAttrsVec.begin(), ParamAttrsVec.end());