Lines Matching full:kind

74   bool hasAttribute(StringRef Kind) const;
107 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind) {
108 assert(Attribute::isEnumAttrKind(Kind) && "Expected enum attribute");
109 ID.AddInteger(Kind);
112 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind,
114 assert(Attribute::isIntAttrKind(Kind) && "Expected int attribute");
115 ID.AddInteger(Kind);
119 static void Profile(FoldingSetNodeID &ID, StringRef Kind, StringRef Values) {
120 ID.AddString(Kind);
124 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind,
126 ID.AddInteger(Kind);
130 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind,
132 ID.AddInteger(Kind);
137 static void Profile(FoldingSetNodeID &ID, Attribute::AttrKind Kind,
139 ID.AddInteger(Kind);
159 Attribute::AttrKind Kind;
162 EnumAttributeImpl(AttrEntryKind ID, Attribute::AttrKind Kind)
163 : AttributeImpl(ID), Kind(Kind) {}
166 EnumAttributeImpl(Attribute::AttrKind Kind)
167 : AttributeImpl(EnumAttrEntry), Kind(Kind) {
168 assert(Kind != Attribute::AttrKind::None &&
172 Attribute::AttrKind getEnumKind() const { return Kind; }
179 IntAttributeImpl(Attribute::AttrKind Kind, uint64_t Val)
180 : EnumAttributeImpl(IntAttrEntry, Kind), Val(Val) {
181 assert(Attribute::isIntAttrKind(Kind) &&
182 "Wrong kind for int attribute!");
200 StringAttributeImpl(StringRef Kind, StringRef Val = StringRef())
201 : AttributeImpl(StringAttrEntry), KindSize(Kind.size()),
205 llvm::copy(Kind, TrailingString);
218 static size_t totalSizeToAlloc(StringRef Kind, StringRef Val) {
219 return TrailingObjects::totalSizeToAlloc<char>(Kind.size() + 1 +
228 TypeAttributeImpl(Attribute::AttrKind Kind, Type *Ty)
229 : EnumAttributeImpl(TypeAttrEntry, Kind), Ty(Ty) {}
238 ConstantRangeAttributeImpl(Attribute::AttrKind Kind, const ConstantRange &CR)
239 : EnumAttributeImpl(ConstantRangeAttrEntry, Kind), CR(CR) {}
253 ConstantRangeListAttributeImpl(Attribute::AttrKind Kind,
255 : EnumAttributeImpl(ConstantRangeListAttrEntry, Kind), Size(Val.size()) {
283 bool hasAttribute(Attribute::AttrKind Kind) const {
284 return AvailableAttrs[Kind / 8] & (1 << (Kind % 8));
287 void addAttribute(Attribute::AttrKind Kind) {
288 AvailableAttrs[Kind / 8] |= 1 << (Kind % 8);
310 std::optional<Attribute> findEnumAttribute(Attribute::AttrKind Kind) const;
326 bool hasAttribute(Attribute::AttrKind Kind) const {
327 return AvailableAttrs.hasAttribute(Kind);
329 bool hasAttribute(StringRef Kind) const;
332 Attribute getAttribute(Attribute::AttrKind Kind) const;
333 Attribute getAttribute(StringRef Kind) const;
348 Type *getAttributeType(Attribute::AttrKind Kind) const;
393 /// enum attribute of the given kind.
394 bool hasFnAttribute(Attribute::AttrKind Kind) const {
395 return AvailableFunctionAttrs.hasAttribute(Kind);
401 bool hasAttrSomewhere(Attribute::AttrKind Kind,