<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">On 7/11/12 4:50 AM, Chandler Carruth
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAGCO0Kikvm8mZJHGG==o6wby-C2rc1Wqsy9dtD7LCkhp0VzEsQ@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      Greetings folks!
      <div><br>
      </div>
      <div>In working on a new optimization pass (splitting cold regions
        into separate functions based on branch probabilities) I've run
        into some limitations of the current pass manager
        infrastructure. After chatting about this with Nick, it seems
        that there are some pretty systematic weaknesses of the current
        design and implementation (but not with the fundamental concepts
        or behavior).</div>
      <div><br>
      </div>
      <div>Current issues:</div>
      <div><br>
      </div>
      [snip]
      <div><br>
      </div>
      <div>- What else did I miss?</div>
    </blockquote>
    <br>
    Analysis groups.<br>
    <br>
    There are two limitations on analysis groups:<br>
    <br>
    1) For some reason, setting one up and adding passes to it doesn't
    seem to have worked quite as smoothly as it should.  I don't
    remember the exact details, but in the past, I've had to struggle to
    create Analysis Groups and make them work properly.<br>
    <br>
    2) Rerunning analysis group passes after invalidation.  If you want
    to use an analysis other than the default analysis group, you have
    to manually specify where to use it each time in the pass pipeline. 
    If your non-default pass gets invalidated, then the default is used
    by any other transform that requests an analysis from that group.<br>
    <br>
    -- John T.<br>
    <br>
  </body>
</html>