Как вставить первую инструкцию в пустой базовый блок в llvm - PullRequest
0 голосов
/ 11 ноября 2018

Вставка новой инструкции llvm в непустой базовый блок действительно довольно просто: просто повторяйте существующие инструкции пока не достигнете нужного места и не используете

newInst->insertBefore(thatInst);

команда. Однако, когда я смотрю на BasicBlock интерфейс здесь , Кажется, я не могу найти , как вставить эту первую инструкцию? Я имею в виду, когда только что был выделен свежий базовый блок, и он все еще пуст, как вставить первую инструкцию внутрь? спасибо!

1 Ответ

0 голосов
/ 11 ноября 2018

Вы можете использовать IRBuilder следующим образом:

llvm::IRBuilder builder(basicBlock);
builder.createAdd(...); // Replace "Add" as appropriate

Или, если вы хотите вставить уже существующий объект инструкции:

builder.insert(instruction);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...