Вы можете иметь CFG как на уровне LLVM IR Function
, так и на уровне CodeGen MachineFunction
. Это отображение один к одному? Я имею в виду, есть ли такое же количество (Machine)BasicBlock
в тех CFG с похожими потоками управления? Я знаю, что количество инструкций может отличаться по очевидной причине, но мне интересно знать, остается ли структура такой же.
Существует ли однозначное сопоставление MachineFunction CFG и IR Function CFG в LLVM?
Ответы (1)
Это отображение один к одному? Я имею в виду, есть ли такое же количество (Machine)BasicBlocks в этих CFG с похожими потоками управления?
Нет однозначного отображения на уровне базовых блоков. Одна из причин этого заключается в том, что невозможна точная замена узла «PHI». Генерация узлов 'SELECT' и 'SELECT_CC' реструктурирует представление базового блока машины.
person
ConsistentProgrammer
schedule
07.05.2018