<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>