for (BasicBlock::iterator i = bb->begin(), e = bb->end(); i != e; ++i) {
i.print(errs()); ???
Я пишу LLVM PASS, и я хочу, чтобы получить список инструкций внутри основного блока, но как распечатать их на консоли, так что я могу видеть их? В приведенном выше коде показан код, который я пробовал, он выполняет итерацию через каждую команду в базовом блоке, но я получаю ошибку ниже для функции печати.Как распечатать инструкцию в LLVM?
error: ‘llvm::BasicBlock::iterator’ has no member named ‘print’ i.print(errs());
Есть ли лучший способ распечатать инструкции?
При публикации вопросов, касающихся ошибок сборки, пожалуйста, укажите фактические ошибки, которые вы получаете. –
ОК спасибо за отзыв, я добавил сообщение об ошибке, я получаю – JavaLearner
Вы, кажется, забыли, что итераторы эмулируют указатели, поэтому вам нужно использовать один из операторов разыменования для доступа к «значению» в итераторе. Как, например, 'I-> печать (...)'. –