LLVM вызывает Loop Pass из функции Pass

Я пишу проход функции LLVM. Я хотел бы вызвать Loop Pass для каждого из циклов в функции. Однако я не могу вызвать Loop Pass из Function Pass. Когда я добавляю addRequired для требуемого прохода цикла, выдается ошибка, что он не может запланировать этот проход.

Любые обходные пути?


person coder hacker    schedule 03.12.2014    source источник


Ответы (1)


Мне интересно, если вы хотите запускать LoopPass в каждом цикле, то почему бы вам просто не вызвать проход цикла в обычном режиме через командную строку? кстати, можно вызвать проход цикла внутри прохода функции. LoopPassManager делает именно то, что вы хотите, это передача функции, которая запускает циклы в каждом цикле. поэтому взгляните на класс LPPassManager в LoopPass.cpp и LoopPass.h

person hadi sadeghi    schedule 23.04.2015