Lines Matching refs:Attrs

444   bool verifyAttributeCount(AttributeSet Attrs, unsigned Params);
445 void verifyAttributeTypes(AttributeSet Attrs, unsigned Idx, bool isFunction,
447 void verifyParameterAttrs(AttributeSet Attrs, unsigned Idx, Type *Ty,
449 void verifyFunctionAttrs(FunctionType *FT, AttributeSet Attrs,
1257 void Verifier::verifyAttributeTypes(AttributeSet Attrs, unsigned Idx,
1260 for (unsigned I = 0, E = Attrs.getNumSlots(); I != E; ++I)
1261 if (Attrs.getSlotIndex(I) == Idx) {
1268 for (AttributeSet::iterator I = Attrs.begin(Slot), E = Attrs.end(Slot);
1329 void Verifier::verifyParameterAttrs(AttributeSet Attrs, unsigned Idx, Type *Ty,
1331 if (!Attrs.hasAttributes(Idx))
1334 verifyAttributeTypes(Attrs, Idx, false, V);
1337 Assert(!Attrs.hasAttribute(Idx, Attribute::ByVal) &&
1338 !Attrs.hasAttribute(Idx, Attribute::Nest) &&
1339 !Attrs.hasAttribute(Idx, Attribute::StructRet) &&
1340 !Attrs.hasAttribute(Idx, Attribute::NoCapture) &&
1341 !Attrs.hasAttribute(Idx, Attribute::Returned) &&
1342 !Attrs.hasAttribute(Idx, Attribute::InAlloca) &&
1343 !Attrs.hasAttribute(Idx, Attribute::SwiftSelf) &&
1344 !Attrs.hasAttribute(Idx, Attribute::SwiftError),
1353 AttrCount += Attrs.hasAttribute(Idx, Attribute::ByVal);
1354 AttrCount += Attrs.hasAttribute(Idx, Attribute::InAlloca);
1355 AttrCount += Attrs.hasAttribute(Idx, Attribute::StructRet) ||
1356 Attrs.hasAttribute(Idx, Attribute::InReg);
1357 AttrCount += Attrs.hasAttribute(Idx, Attribute::Nest);
1362 Assert(!(Attrs.hasAttribute(Idx, Attribute::InAlloca) &&
1363 Attrs.hasAttribute(Idx, Attribute::ReadOnly)),
1368 Assert(!(Attrs.hasAttribute(Idx, Attribute::StructRet) &&
1369 Attrs.hasAttribute(Idx, Attribute::Returned)),
1374 Assert(!(Attrs.hasAttribute(Idx, Attribute::ZExt) &&
1375 Attrs.hasAttribute(Idx, Attribute::SExt)),
1380 Assert(!(Attrs.hasAttribute(Idx, Attribute::ReadNone) &&
1381 Attrs.hasAttribute(Idx, Attribute::ReadOnly)),
1386 Assert(!(Attrs.hasAttribute(Idx, Attribute::ReadNone) &&
1387 Attrs.hasAttribute(Idx, Attribute::WriteOnly)),
1392 Assert(!(Attrs.hasAttribute(Idx, Attribute::ReadOnly) &&
1393 Attrs.hasAttribute(Idx, Attribute::WriteOnly)),
1398 Assert(!(Attrs.hasAttribute(Idx, Attribute::NoInline) &&
1399 Attrs.hasAttribute(Idx, Attribute::AlwaysInline)),
1404 Assert(!AttrBuilder(Attrs, Idx)
1414 Assert(!Attrs.hasAttribute(Idx, Attribute::ByVal) &&
1415 !Attrs.hasAttribute(Idx, Attribute::InAlloca),
1420 Assert(!Attrs.hasAttribute(Idx, Attribute::SwiftError),
1425 Assert(!Attrs.hasAttribute(Idx, Attribute::ByVal),
1428 Assert(!Attrs.hasAttribute(Idx, Attribute::SwiftError),
1437 void Verifier::verifyFunctionAttrs(FunctionType *FT, AttributeSet Attrs,
1439 if (Attrs.isEmpty())
1448 for (unsigned i = 0, e = Attrs.getNumSlots(); i != e; ++i) {
1449 unsigned Idx = Attrs.getSlotIndex(i);
1459 verifyParameterAttrs(Attrs, Idx, Ty, Idx == 0, V);
1464 if (Attrs.hasAttribute(Idx, Attribute::Nest)) {
1469 if (Attrs.hasAttribute(Idx, Attribute::Returned)) {
1479 if (Attrs.hasAttribute(Idx, Attribute::StructRet)) {
1486 if (Attrs.hasAttribute(Idx, Attribute::SwiftSelf)) {
1491 if (Attrs.hasAttribute(Idx, Attribute::SwiftError)) {
1497 if (Attrs.hasAttribute(Idx, Attribute::InAlloca)) {
1503 if (!Attrs.hasAttributes(AttributeSet::FunctionIndex))
1506 verifyAttributeTypes(Attrs, AttributeSet::FunctionIndex, true, V);
1509 !(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::ReadNone) &&
1510 Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::ReadOnly)),
1514 !(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::ReadNone) &&
1515 Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::WriteOnly)),
1519 !(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::ReadOnly) &&
1520 Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::WriteOnly)),
1524 !(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::ReadNone) &&
1525 Attrs.hasAttribute(AttributeSet::FunctionIndex,
1530 !(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::ReadNone) &&
1531 Attrs.hasAttribute(AttributeSet::FunctionIndex,
1536 !(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::NoInline) &&
1537 Attrs.hasAttribute(AttributeSet::FunctionIndex,
1541 if (Attrs.hasAttribute(AttributeSet::FunctionIndex,
1543 Assert(Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::NoInline),
1546 Assert(!Attrs.hasAttribute(AttributeSet::FunctionIndex,
1550 Assert(!Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::MinSize),
1554 if (Attrs.hasAttribute(AttributeSet::FunctionIndex,
1561 if (Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::AllocSize)) {
1563 Attrs.getAllocSizeArgs(AttributeSet::FunctionIndex);
1659 bool Verifier::verifyAttributeCount(AttributeSet Attrs, unsigned Params) {
1660 if (Attrs.getNumSlots() == 0)
1663 unsigned LastSlot = Attrs.getNumSlots() - 1;
1664 unsigned LastIndex = Attrs.getSlotIndex(LastSlot);
1667 && (LastSlot == 0 || Attrs.getSlotIndex(LastSlot - 1) <= Params)))
1897 AttributeSet Attrs = F.getAttributes();
1899 Assert(verifyAttributeCount(Attrs, FT->getNumParams()),
1903 verifyFunctionAttrs(FT, Attrs, &F);
1908 Assert(!Attrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::Builtin),
1948 if (Attrs.hasAttribute(i+1, Attribute::SwiftError)) {
2525 AttributeSet Attrs = CS.getAttributes();
2527 Assert(verifyAttributeCount(Attrs, CS.arg_size()),
2531 verifyFunctionAttrs(FTy, Attrs, I);
2561 if (Attrs.hasAttribute(Idx, Attribute::Nest))
2563 if (Attrs.hasAttribute(Idx, Attribute::Returned))
2570 verifyParameterAttrs(Attrs, Idx, Ty, false, I);
2572 if (Attrs.hasAttribute(Idx, Attribute::Nest)) {
2577 if (Attrs.hasAttribute(Idx, Attribute::Returned)) {
2587 Assert(!Attrs.hasAttribute(Idx, Attribute::StructRet),
2590 if (Attrs.hasAttribute(Idx, Attribute::InAlloca))
2664 static AttrBuilder getParameterABIAttributes(int I, AttributeSet Attrs) {
2671 if (Attrs.hasAttribute(I + 1, AK))
2674 if (Attrs.hasAttribute(I + 1, Attribute::Alignment))
2675 Copy.addAlignmentAttr(Attrs.getParamAlignment(I + 1));