Index: clang/include/clang/Basic/Attr.td =================================================================== --- clang/include/clang/Basic/Attr.td +++ clang/include/clang/Basic/Attr.td @@ -1074,6 +1074,7 @@ let Spellings = [GCC<"cold">]; let Subjects = SubjectList<[Function]>; let Documentation = [ColdFunctionEntryDocs]; + let SimpleHandler = 1; } def Common : InheritableAttr { @@ -1519,6 +1520,7 @@ let Spellings = [GCC<"hot">]; let Subjects = SubjectList<[Function]>; let Documentation = [HotFunctionEntryDocs]; + let SimpleHandler = 1; } def : MutualExclusions<[Hot, Cold]>; Index: clang/include/clang/Basic/AttrDocs.td =================================================================== --- clang/include/clang/Basic/AttrDocs.td +++ clang/include/clang/Basic/AttrDocs.td @@ -5245,7 +5245,7 @@ let Category = DocCatFunction; let Content = [{ ``__attribute__((hot))`` marks a function as hot, as a manual alternative to PGO hotness data. -In case PGO data is available too user annotated ``__attribute__((hot))`` overwrites profile count based hotness (unlike ``__attribute__((cold))``). +If PGO data is available, the annotation ``__attribute__((hot))`` overrides the profile count based hotness (unlike ``__attribute__((cold))``). }]; } @@ -5253,7 +5253,7 @@ let Category = DocCatFunction; let Content = [{ ``__attribute__((cold))`` marks a function as cold, as a manual alternative to PGO hotness data. -In case PGO data is available too profile count based hotness overwrites user annotated ``__attribute__((cold))`` (unlike ``__attribute__((hot))``). +If PGO data is available, the profile count based hotness overrides the ``__attribute__((cold))`` annotation (unlike ``__attribute__((hot))``). }]; }