Lines Matching defs:trait
90 // all ops have the trait that would cause overlap. For many cases here,
259 const Trait *Operator::getTrait(StringRef trait) const {
262 if (traitDef->getFullyQualifiedTraitName() == trait)
265 if (traitDef->getFullyQualifiedTraitName() == trait)
268 if (traitDef->getFullyQualifiedTraitName() == trait)
434 for (const Trait &trait : traits) {
435 const Record &def = trait.getDef();
444 if (const auto *traitDef = dyn_cast<InterfaceTrait>(&trait))
448 // The `TypesMatchWith` trait represents a 1 -> 1 type inference edge with a
475 // The `AllTypesMatch` trait represents an N <-> N fanin and fanout. That
546 // If the types could be computed, then add type inference trait.
705 // This is uniquing based on pointers of the trait.
714 auto verifyTraitValidity = [&](const Record *trait) {
715 auto *dependentTraits = trait->getValueAsListInit("dependentTraits");
720 trait->getValueAsString("trait") + " requires " +
722 "trait") +
740 // trait list.
744 // Verify if the trait has all the dependent traits declared before