Пример для llvm:: CloneBasicBlock


Я пытаюсь найти пример кода, который использует llvm::CloneBasicBlock, но не могу его найти. У меня возникли проблемы с узлами PHI и проблема с доминированием инструкций. Поэтому я буду признателен за любой хороший пример кода, который научит правильно использовать llvm::CloneBasicBlock.

1 2

1 ответ:

Что плохого в том, чтобы посмотреть в самом источнике LLVM? CloneBasicBlock используется в ряде мест. Простейшим, вероятно, является llvm::CloneFunctionInto; вероятно, этого должно быть достаточно, чтобы продемонстрировать, как правильно использовать функцию (в терминах того, какие аргументы передавать и т. д.)

Более интересный пример находится в llvm::LoopUnroll, который также имеет дело со ссылками из узлов PHI.