Работа Лобанова А.А. посвящена разработке и реализации методов оптимизации циклов с применением профильной информации в рамках среды разработки компиляторов LLVM. Традиционные компиляторы оптимизируют программу на основе статической информации исходных файлов, но в 1990х исследовательские группы начали применять информацию об исполнении программы для улучшения эффективности оптимизирующих преобразований компиляторов, а в 2000х возможности были реализованы в популярных компиляторах MS Visual C/C++, Intel ICC. В работе выбрана современная среда разработки компиляторов LLVM, поддерживающая множество языков и целевых платформ, входящая в состав популярных инструментов разработки для платформ Apple MacOS iOS и Sony PS4. Современная среда LLVM позволяет собирать и использовать профильную информацию в некоторых оптимизациях, таких как подстановка функций и распределение регистров. Данная разработка решает актуальную проблему использования профильной информации для оптимизации вычислительно интенсивных частей программы, предлагая использовать профильную информацию при векторизации циклов, раскрутке циклов и частичной подстановке функций, в результате позволяя компилятору ускорить целевую программу или сбалансировать скорость и размер кода для выбранного набора профилей исполнения. Студентом было предложен метод, позволяющий улучшить выбор параметров векторизации циклов для специальных случаев, учитывая возможное количество скалярных итераций, разработан прототип системы балансировки производительности и размера кода, а также модуль предсказания очередных профилей на основе упорядоченного набора уже имеющихся профилей. К недостаткам можно отнести то, что не были рассмотрены оптимизации на основе распределений параметров циклов, данное направление может являться дальнейшим развитием работы. В работе описаны реализованные методы, дано пояснение выбора и проведен краткий сравнительный анализ методов, стиль изложения не везде выдержан, присутствуют опечатки, но в достаточном объеме приведены схемы. Обзор предметной области и литературы не включает ссылки на некоторые классические работы по использованию профильной информации Chang “Using profile information to assist classic compiler code generation”, 1991; не упоминаются публикации российских авторов, например, диссертация Ермолицкого А.В. о методах автоматической векторизации на этапе компиляции для архитектур с поддержкой коротких векторных инструкций, 2011, или публикация Четвертиной О.А. о коррекции профильной информации, 2015. В целом работа выполнена на достойном профессиональном уровне, Лобанов А.А. показал себя как хороший исследователь и разработчик. Считаю, что, несмотря на замечания по оформлению и содержанию, работа заслуживает оценки «хорошо».