Получение "минимального" SSA от LLVM

LLVM opt -S -mem2reg pass создает так называемый "обрезанный" SSA - форму, в которой удалены все мертвые функции phi. Я хотел бы сохранить эти инструкции в IR, получив "минимальный" SSA, но я не могу найти простой способ сделать это.

Обречен ли я реализовывать весь алгоритм построения SSA с нуля или есть способ сделать это с помощью существующих инструментов?

1 ответ

Решение

LLVM не имеет никакой поддержки для формирования чего-либо, кроме сокращенной формы SSA, и вряд ли вырастет такой механизм. Мы буквально даже не делаем работу, чтобы синтезировать эту информацию при размещении фи.

Другие вопросы по тегам