Skip to content

Latest commit

 

History

History
84 lines (67 loc) · 3.92 KB

README.md

File metadata and controls

84 lines (67 loc) · 3.92 KB

b8

b8 compiler from MMCS SFedU

Credits:

  1. Aliev M.
  2. Avakyan G.
  3. Bulanov D.
  4. Ermolaev D.
  5. Ermolinsky A.
  6. Fateev S.
  7. Koval N.
  8. Kubesh. E.
  9. Limarev V.
  10. Nezhevsky N.
  11. Ostapenko A.
  12. Paterikin A.
  13. Raskin A.
  14. Rogov D.
  15. Silnyagin Y.
  16. Cherkasov V.
Team Dev1 Dev2
RR Rogov D. Raskin A.
AN Avakyan G. Nezhevsky N.
LK Kubesh. E. Koval N.
FB Fateev S. Bulanov D.
PC Paterikin A. Cherkasov V.
OE Ostapenko A. Ermolaev D.
AE Aliev M. Ermolinsky A.

Оценивание вклада

Анкета

Scientific Advisor: Mikhalkovich S.

Tasks:

RR Rogov D. Raskin A.

  • Парсер v2
  • Передаточная функция для реализации распространения констант

Nezhevsky N.

  • Генерация трехадресного кода
  • Для каждого обратного ребра найти естественный цикл
  • Установить, все ли отступающие ребра обратные

Koval N. Kubesh. E.

  • Доступные выражения между базовыми блоками - множества e_gen(b) и e_kill(b)
  • Доступные выражения внутри ББЛ(+оптимизации)
  • Доступные выражения, итерационный алгоритм*
  • Нисходящая часть алгоритма анализа на основе областей

Fateev S.

  • Разработка класса "область" с разновидностями "область тела" и "область цикла"
  • Формирование поседовательности областей R1,...,Rn в восходящем порядке

PC Paterikin A. Cherkasov V.

  • Создание CFG из базовых блоков
  • Поддержка goto и меток
  • Достигающие определения: вычисление gen_B и kill_B
  • Итерационный алгоритм для достигающих определений
  • Дерево доминаторов

Ermolaev D.

  • Построить на CFG глубинное остовное дерево, перенумеровав элементы в порядке обратном посфиксному
  • Переписание CFG с использованием высокоуровневой библиотеки QuickGraph
  • Классификация ребер графа: наступающие, отступающие, поперечные
  • Восходящая часть алгоритма анализа на основе областей

AE Aliev M.

  • Активные переменные внутри ББЛ
  • Живые переменные между ББЛ, множества use_B и def_B
  • Живые переменные - итерационный алгоритм
  • Разработка класса для хранения f_r,IN[s] и f_r,OUT[B]

  • Модифицированный (ускоренный) алгоритм с правильной нумерацией базовых блоков
  • 3 примера программ, дающих неправильные графы, найти отступающие ребра, не явл. обратными.
  • оптимизация общего итерационного алгоритма обхода