<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Dear Hanbing Li,<br>
<br>
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.<br>
<br>
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).<br>
<br>
Regards,<br>
<br>
John Criswell<br>
<br>
On 6/12/14, 10:45 AM, Hanbing Li wrote:<br>
</div>
<blockquote
cite="mid:1193802552.903633.1402587956505.JavaMail.zimbra@inria.fr"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div style="font-family: times new roman, new york, times, serif;
font-size: 12pt; color: #000000">
<div>Hi,</div>
<div><br>
</div>
<div>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.</div>
<div>When a pass needs another transform pass, can it call it
automatically?</div>
<div>For example:</div>
<div>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?</div>
<div><br>
</div>
<div><br>
Thank you <br>
Regards, <br>
<br>
Hanbing LI </div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
</body>
</html>