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