Как добавить проход Reg2Mem для addRequired() в LLVM?

Я хочу удалить фи-узлы из моих IR-файлов llvm, поэтому я прочитал, что проход Reg2Mem является решением (почему?).

Я могу легко использовать этот пропуск из opt инструмент, указав -reg2mem в качестве аргумента.

Тем не менее, я хочу, чтобы эта функциональность была встроена в мой собственный проход под названием FlattenO, Поэтому я пытаюсь добавить проход Reg2Mem в качестве обязательной зависимости моего прохода (тогда он должен вызываться автоматически?).

void FlattenO::getAnalysisUsage(AnalysisUsage &AU) const {
    AU.addRequired<Reg2Mem>();
}

Приведенный выше код не работает, потому что он не может найти проход Reg2Mem. Какие файлы я должен включить, чтобы использовать проход Reg2Mem? Также, пожалуйста, исправьте мой код, чтобы все работало как задумано.

0 ответов

Другие вопросы по тегам