Существует ли однозначное сопоставление MachineFunction CFG и IR Function CFG в LLVM?

Вы можете иметь CFG как на уровне LLVM IR Function, так и на уровне CodeGen MachineFunction. Это отображение один к одному? Я имею в виду, есть ли такое же количество (Machine)BasicBlock в тех CFG с похожими потоками управления? Я знаю, что количество инструкций может отличаться по очевидной причине, но мне интересно знать, остается ли структура такой же.


person soham    schedule 06.05.2018    source источник


Ответы (1)


Это отображение один к одному? Я имею в виду, есть ли такое же количество (Machine)BasicBlocks в этих CFG с похожими потоками управления?

Нет однозначного отображения на уровне базовых блоков. Одна из причин этого заключается в том, что невозможна точная замена узла «PHI». Генерация узлов 'SELECT' и 'SELECT_CC' реструктурирует представление базового блока машины.

person ConsistentProgrammer    schedule 07.05.2018