<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 12/04/2014 09:12 AM, David Blaikie
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAENS6Ev3P0BEQ8=a3NeWW-MoQwNCfm4FYY+oA7yJ2TNBTzv38w@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Thu, Dec 4, 2014 at 1:23 AM,
            Chandler Carruth <span dir="ltr"><<a
                moz-do-not-send="true"
                href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div dir="ltr">
                <div class="gmail_extra"><span class=""><br>
                    <div class="gmail_quote">On Thu, Dec 4, 2014 at 1:18
                      AM, Hal Finkel <span dir="ltr"><<a
                          moz-do-not-send="true"
                          href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span>
                      wrote:<br>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">+1 -- We don't need
                        types on pointers -- they don't convey any
                        information to the optimizer. FWIW, it would not
                        surprise me if the elimination of all of the
                        unnecessary pointer bitcasts produces measurable
                        compile-time savings.</blockquote>
                    </div>
                    <br>
                  </span>Indeed.</div>
                <div class="gmail_extra"><br>
                </div>
                <div class="gmail_extra">I'm actually interested in
                  looking at this if no one else gets to it first. (for
                  me, it's after the pass manager at the least) If
                  someone else is able to hack on this though, it would
                  be awesome. I think it'll actually help LTO quite a
                  lot by reducing the footprint of the IR.</div>
              </div>
            </blockquote>
            <div><br>
              This sounds potentially like the sort of monkey work I
              could do/dabble in - might chat with you more about it to
              see if I'm figuring that correctly before diving in.<br>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    A couple of comments on the thread so far:<br>
    - Semantically, I have no objection to the removal of the type from
    the pointer.  I agree that this gets us very little and gives a
    deceptive appearance of type safety where there is none.  The only
    strong distinction between pointer types is via address spaces; as
    long as that's preserved, I have no objection.<br>
    - From a readability perspective, typed pointers do actually help a
    lot.  Looking at the IR and figuring out what a particular pointer
    describes would be far harder without them.  If we do move to a
    typeless pointer, I would argue in favor of having the types still
    be present, but make it legal to cast between pointer types without
    a bitcast.  (i.e. all pointer 'names' refer to a single underlying
    type)<br>
    - This is a large enough change in the IR that a true proposal
    should be sent to the mailing list & given a week or two to
    propagate before any work is done.  <br>
    <br>
    <br>
    <blockquote
cite="mid:CAENS6Ev3P0BEQ8=a3NeWW-MoQwNCfm4FYY+oA7yJ2TNBTzv38w@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <br>
              _______________________________________________<br>
              llvm-commits mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
              <a moz-do-not-send="true"
                href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits"
                target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>