Lines Matching refs:Attribute
54 bool isUsefullToPreserve(Attribute::AttrKind Kind) { in isUsefullToPreserve()
56 case Attribute::NonNull: in isUsefullToPreserve()
57 case Attribute::NoUndef: in isUsefullToPreserve()
58 case Attribute::Alignment: in isUsefullToPreserve()
59 case Attribute::Dereferenceable: in isUsefullToPreserve()
60 case Attribute::DereferenceableOrNull: in isUsefullToPreserve()
61 case Attribute::Cold: in isUsefullToPreserve()
74 case Attribute::NonNull: in canonicalizedKnowledge()
77 case Attribute::Alignment: { in canonicalizedKnowledge()
86 case Attribute::Dereferenceable: in canonicalizedKnowledge()
87 case Attribute::DereferenceableOrNull: { in canonicalizedKnowledge()
105 using MapKey = std::pair<Value *, Attribute::AttrKind>;
155 (!Attribute::isIntAttrKind(RK.AttrKind) || in isKnowledgeWorthPreserving()
194 void addAttribute(Attribute Attr, Value *WasOn) { in addAttribute()
209 for (Attribute Attr : AttrList.getAttributes(Idx)) { in addCall()
210 bool IsPoisonAttr = Attr.hasAttribute(Attribute::NonNull) || in addCall()
211 Attr.hasAttribute(Attribute::Alignment); in addCall()
215 for (Attribute Attr : AttrList.getFnAttributes()) in addCall()
242 std::string(Attribute::getNameFromAttrKind(MapElem.first.second)), in build()
258 addKnowledge({Attribute::Dereferenceable, DerefSize, Pointer}); in addAccessedPtr()
261 addKnowledge({Attribute::NonNull, 0u, Pointer}); in addAccessedPtr()
265 {Attribute::Alignment, unsigned(MA.valueOrOne().value()), Pointer}); in addAccessedPtr()
399 SmallDenseMap<std::pair<Value *, Attribute::AttrKind>, in dropRedundantKnowledge()
425 if (!Attribute::isIntAttrKind(RK.AttrKind) || in dropRedundantKnowledge()
436 Arg->addAttr(Attribute::get(C, RK.AttrKind, RK.ArgValue)); in dropRedundantKnowledge()