Глядя на разборку программы на C++, я вижу такие функции, как _Z41__static_initialization_and_destruction_0ii.constprop.221
. Что означает в этом случае значение constprop
? Похоже, что он похож на суффикс isra (и иногда комбинируется, например, .isra.124.constprop.226
), но это означает что-то еще.Что означает суффикс функции GCC .constprop?
11
A
ответ
3
Из комментариев исходного кода, которые я прочитал, они указывают функции, которые были клонированы во время оптимизации.
EDIT: Это может быть ответ, возможно, нет.
Простая постоянная распространения
Этот файл реализует постоянное распространение и слияние. Он ищет инструкции, содержащие только константные операнды и заменяет их постоянным значением вместо инструкции. Например:
add i32 1, 2
становится
i32 3
Примечания: этот проход имеет привычку делать определение мертвого. Это хорошая идея, чтобы запустить пропущенную процедуру удаления мертвых команд через некоторое время после запуска этого прохода.
ли вы не знаете, что оптимизация выполняется? – nneonneo
Ответ обновлен ... – zaf
Cool. Похоже, что это может быть постоянное распространение interprocedure, поскольку оно создает несколько версий функций. Хотя документ предназначен для LLVM, я предполагаю, что аналогичная вещь должна применяться к GCC. – nneonneo