Семантика GCC горячий атрибут

Предположим, у меня есть модуль компиляции, состоящий из трех функций, A, B и C. A вызывается один раз из функции, внешней по отношению к модулю компиляции (например, это точка входа или обратный вызов); B вызывается много раз A (например, он вызывается в узком цикле); C вызывается один раз при каждом вызове B (например, это библиотечная функция).

Весь путь через A (проходящий через B и C) критичен к производительности, хотя производительность самого A некритична (так как большая часть времени проводится в B и C).

Каков минимальный набор функций, с которыми нужно аннотировать__attribute__ ((hot)) провести более агрессивную оптимизацию этого пути? Предположим, мы не можем использовать-fprofile-generate.

Эквивалентно: ли__attribute__ ((hot)) означает «оптимизировать тело этой функции», «оптимизировать вызовы этой функции», «оптимизировать все вызовы-потомки, выполняемые этой функцией», или какую-то их комбинацию?

Информационная страница GCC не дает четкого ответа на эти вопросы.

Ответы на вопрос(1)

Ваш ответ на вопрос