Profile-Guided Optimization (PGO) позволяет компиляторам языков программирования оптимизировать программы, основываясь не только на статическом анализе, но и на данных о динамическом поведении программы, что расширяет возможности оптимизатора и позволяет специализировать программу под конкретное поведение. От уровня детализации собранного профиля исполнения программы зависит качество оптимизаций. Данное исследование имеет перед собой цель анализа возможности расширения собранного профиля для instrumentation PGO в проекте LLVM так, что информация о поведении программы внутри функций будет храниться для нескольких мест вызова. Таким образом, можно получить PGO с повышенной точностью и детерминизмом, при которой достаточно одного сбора профиля, и при этом являющуюся контекстно-зависимой.
Холявин Н.А. (науч. рук. Косов П.В.) Анализ использования вариантов инструментации, сохраняющей информацию, привязанную к местам вызова функций, для оптимизации программ по их профилю исполнения для языков программирования Си/Си++ на базе проекта LLVM // Сборник тезисов докладов конгресса молодых ученых. Электронное издание. – СПб: Университет ИТМО, [2023]. URL: https://kmu.itmo.ru/digests/article/11353