<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 09/14/2013 04:05 PM, Chandler
      Carruth wrote:<br>
    </div>
    <blockquote
cite="mid:CAGCO0KhrdL0ggEfKWo-b0kh+z=+mvLWAwrt1h197TecBh3_yRQ@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div dir="ltr">On Sat, Sep 14, 2013 at 3:57 PM, Reed Kotler <span
          dir="ltr"><<a moz-do-not-send="true"
            href="mailto:rkotler@mips.com" target="_blank"
            class="cremed">rkotler@mips.com</a>></span> wrote:<br>
        <div class="gmail_extra">
          <div class="gmail_quote">
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi
              Chandler,<br>
              <br>
              What changes are you planning to make?<br>
              <br>
              Are you going to submit a proposal and RFC?<br>
            </blockquote>
            <div><br>
            </div>
            <div>There have been several RFCs...</div>
            <div><br>
            </div>
            <div>What's your specific question?</div>
            <div><br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    Which RFCs cover this?<br>
    <br>
    Will the new system allow for passes to be inserted dynamically
    after startup?<br>
    <br>
    I have some delicate things that I did to make this ability to
    switch between mips 32 and mips16 ( they are different instruction
    sets) that relies on the pass manager working the way it does now.
    I'm not sure what you are planning to do and how it might affect
    what I did. It was very tricky to get that to work and a lot of
    things depend on it working now.<br>
    <br>
    I don't think that we need to see how this will be implemented but I
    think that it would be helpful to list what you are trying to
    accomplish at a high level and what new features will be there and
    how the behavior will change from now.<br>
    <br>
    <br>
    <blockquote
cite="mid:CAGCO0KhrdL0ggEfKWo-b0kh+z=+mvLWAwrt1h197TecBh3_yRQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div>I'm planning to essentially try to build a new pass
              management layer that doesn't suffer from the problems the
              existing one does. I could describe every interface I plan
              in prose and email it out, but I'm not sure that's really
              the most effective way to do it. My plan has been to work
              on implementing the new system in-tree, and let folks code
              review it and pick it apart as usual. When folks are happy
              with it, and it works, then we can look at switching over.</div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              Reed
              <div>
                <div class="h5"><br>
                  <br>
                  <br>
                  On 09/14/2013 03:46 PM, Chandler Carruth wrote:<br>
                </div>
              </div>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div>
                  <div class="h5">
                    I just wanted to give everyone a head up. I'm
                    starting work on the pass<br>
                    manager based on numerous list discussions and some
                    IRC discussions.<br>
                    <br>
                    The first steps will be marking the existing code as
                    "legacy" and<br>
                    clearing a path to build new facilities here. From
                    there I'll start<br>
                    building the new facilities without enabling them.<br>
                    <br>
                    Some explicit legacy support goals:<br>
                    <br>
                    1) I'm going to build a bridge so that an existing
                    Pass can be inserted<br>
                    into the new pass manager with some adaptors and
                    everything will just<br>
                    work. This may require touching the code that sets
                    up the pass manager,<br>
                    but not the code that defines a pass. This will work
                    even once the new<br>
                    pass manager bits are enabled if at all possible.<br>
                    <br>
                    2) If you have code that includes the current
                    PassManager headers,<br>
                    nothing should break right away, but when the new
                    manager infrastructure<br>
                    is enabled, I'll likely remove the old PassManager
                    headers, breaking<br>
                    this code. My goal is to only break code that
                    directly interacts with<br>
                    the management layer.<br>
                    <br>
                    3) I'm going to play namespace games so that we
                    don't end up with<br>
                    PassManagerV2 and other silly names. The legacy
                    headers will paper over<br>
                    this to keep legacy code compiling without change.<br>
                    <br>
                    -Chandler<br>
                    <br>
                    <br>
                  </div>
                </div>
                _______________________________________________<br>
                LLVM Developers mailing list<br>
                <a moz-do-not-send="true"
                  href="mailto:LLVMdev@cs.uiuc.edu" target="_blank"
                  class="cremed">LLVMdev@cs.uiuc.edu</a>         <a
                  moz-do-not-send="true" href="http://llvm.cs.uiuc.edu"
                  target="_blank" class="cremed">http://llvm.cs.uiuc.edu</a><br>
                <a moz-do-not-send="true"
                  href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev"
                  target="_blank" class="cremed">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
                <br>
              </blockquote>
              <br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>