Я пишу ModulePass
и вызываю его с помощью opt -load
. Я бы потребовал, чтобы alloca
был переведен на регистрацию при прохождении моего прохода, используя переключатель -mem2reg для выбора.Укажите зависимость моего прохода LLVM на проходе mem2reg
Существует link, что указывает на то, что проход PromoteMemoryToRegsiter является прохождением трансформации и, как таковой, не должен требоваться моим проходом. Это заявление с 2010 года. Сохраняется ли это?
Один из постов я нашел предложил что-то вроде
AU.addRequiredID(PromoteMemoryToRegister::MemoryToRegisterID);
но противоречили поста я связан выше.
Так что мой вопрос в том, как я могу выразить эту зависимость для моего прохода, если это возможно? Как выразить, в общем, такие зазоры? И в чем разница между прохождением трансформирования и, ну, другим проходом?
Мы собираемся туда и обратно между использованием 'opt' и писать свой собственный экземпляр, который использует' PassManager', пока не уверен. Если порядок так легко достичь, то это пока достаточно хорошо :) – Jens