[LLVMdev] Passes calling
John Criswell
criswell at illinois.edu
Thu Jun 12 09:09:25 PDT 2014
Dear Hanbing Li,
To the best of my knowledge, the pass dependency mechanism cannot be
used to force one transform pass to be run before another pass. You
must simply setup the PassManager to ensure that the transform pass runs
before your pass.
The reason for this is that adding a transform pass as a dependency can
create a situation in which the PassManager cannot schedule the passes
to be run (because the transform pass invalidates some analysis pass,
creating a chicken-and-egg scheduling problem that PassManager cannot
rectify).
Regards,
John Criswell
On 6/12/14, 10:45 AM, Hanbing Li wrote:
> Hi,
>
> I know when a pass needs other passes, it will use something like
> this: "AU.addRequired<LoopInfo>();". But this is usually used for the
> analysis passes.
> When a pass needs another transform pass, can it call it automatically?
> For example:
> Some loop optimizations may need loop-simplify, I need add
> -loop-simplify before calling these passes manually, or they can call
> the pass -loop-simplify automatically?
>
>
> Thank you
> Regards,
>
> Hanbing LI
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140612/62295036/attachment.html>
More information about the llvm-dev
mailing list