<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Neil,<div class=""><br class=""></div><div class="">This convention discussion has nothing to do with Microsoft vs Linux.  It was discussed on the list over the course of years, I’d recommend catching up on the back discussions if you’re curious about the rationale.</div><div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jul 9, 2019, at 8:48 AM, Neil Nelson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div bgcolor="#FFFFFF" text="#000000" class=""><p class="">CamelCase is a style most commonly seen with those having a
      Microsoft orientation. It is uncommon for Linux code and is
      avoided by style requirement in the Boost libraries. I have coded
      CamelCase and otherwise.</p><p class="">Perhaps changing the style of the original code merely on this
      point is a minor slam at those original authors who had a
      different perspective in mind. We may want to consider leaving the
      style as it is for a while to review how the current code-base is
      styled and why those authors preferred that style. Merely changing
      to CamelCase has a kind of 'Let's dress ourselves in Microsoft
      style", a point somewhat eagerly denied in the Linux community.</p><p class="">Neil Nelson<br class="">
    </p>
    <div class="moz-cite-prefix">On 7/9/19 1:23 AM, Rui Ueyama via
      llvm-dev wrote:<br class="">
    </div>
    <blockquote type="cite" cite="mid:CAJENXguL3Vm=5hxMxSQart1PgrUTNhbbKPpXtH1iwvWo9DxOuA@mail.gmail.com" class="">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" class="">
      <div dir="ltr" class="">Thanks, Chris.
        <div class=""><br class="">
        </div>
        <div class="">Looks like everybody is at least mildly comfortable with my
          variable name renaming change, so I'll to submit that change
          to lld subdirectory soon. If you have any objections, please
          let me know. Note that this is not the end of my effort but
          actually the beginning of it. As Chris said, I believe we
          should do this to the entire LLVM codebase. I'm planning to do
          that directory-by-directory basis.</div>
      </div>
      <br class="">
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Tue, Jul 9, 2019 at 2:03 PM
          Chris Lattner <<a href="mailto:clattner@nondot.org" target="_blank" moz-do-not-send="true" class="">clattner@nondot.org</a>>
          wrote:<br class="">
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div class="">This looks really great to me Rui, and I’m also pleased
            to see the positive comments on the review thread.  Thank
            you for driving this forward!
            <div class=""><br class="">
            </div>
            <div class="">-Chris</div>
            <div class=""><br class="">
              <div class=""><br class="">
                <blockquote type="cite" class="">
                  <div class="">On Jul 4, 2019, at 9:50 PM, Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank" moz-do-not-send="true" class="">ruiu@google.com</a>>
                    wrote:</div>
                  <br class="gmail-m_2770133802124160917gmail-m_-4967608389964707345Apple-interchange-newline">
                  <div class="">
                    <div dir="ltr" class="">
                      <div class="">Hi all,</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">I wrote a <a href="https://reviews.llvm.org/D64123" target="_blank" moz-do-not-send="true" class="">tool</a>
                        to batch-rename variable names so that they are
                        in camelCase, and I applied the tool to lld
                        subdirectory. You can see my change at <a href="https://reviews.llvm.org/D64121" target="_blank" moz-do-not-send="true" class="">https://reviews.llvm.org/D64121</a>.
                        If you have any comments, please reply.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">If people are happy about this change, I can
                        do the same thing for other directories
                        including LLVM itself and Clang.</div>
                    </div>
                    <br class="">
                    <div class="gmail_quote">
                      <div dir="ltr" class="gmail_attr">On Mon, Jun 10,
                        2019 at 6:34 PM Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank" moz-do-not-send="true" class="">ruiu@google.com</a>>
                        wrote:<br class="">
                      </div>
                      <blockquote class="gmail_quote" style="margin:0px
                        0px 0px 0.8ex;border-left:1px solid
                        rgb(204,204,204);padding-left:1ex">
                        <div dir="ltr" class="">
                          <div dir="ltr" class="">On Mon, Jun 10, 2019 at 6:27 PM
                            Michael Platings <<a href="mailto:Michael.Platings@arm.com" target="_blank" moz-do-not-send="true" class="">Michael.Platings@arm.com</a>>
                            wrote:<br class="">
                          </div>
                          <div class="gmail_quote">
                            <blockquote class="gmail_quote" style="margin:0px 0px 0px
                              0.8ex;border-left:1px solid
                              rgb(204,204,204);padding-left:1ex">
                              <div lang="EN-GB" class="">
                                <div class="gmail-m_2770133802124160917gmail-m_-4967608389964707345gmail-m_-5075167384395705213m_6014060592539761735gmail-m_2357972737193542758WordSection1"><p class="MsoNormal">Hi Rui,</p><div class=""> <br class="webkit-block-placeholder"></div><p class="MsoNormal">As per the
                                    provisional plan [1] we’re still at
                                    step 1: improving git blame. The
                                    status of this is that there are
                                    some fairly mature patches in the
                                    Git project’s queue [2], and I’m
                                    hopeful that it will be accepted in
                                    something close to its current form.</p><div class=""> <br class="webkit-block-placeholder"></div><p class="MsoNormal">But if you can
                                    get started on steps 2 & 3 i.e.
                                    making forks available with the
                                    possible changes applied then that
                                    would be great. My hope is that once
                                    everyone can see what the options
                                    really look like then it will be
                                    easier to reach consensus.</p>
                                </div>
                              </div>
                            </blockquote>
                            <div class=""><br class="">
                            </div>
                            <div class="">Sure, I'll try to do that. I'll
                              probably start with finding identifiers
                              and typenames that will conflict after the
                              naming scheme change and rename them so
                              that they won't conflict. The number of
                              such symbols would hopefully be small, and
                              submitting such renaming changes wouldn't
                              be distracting. After that, I think I can
                              create a mechanical change to rename
                              variables to see how it will look like.</div>
                            <div class=""><br class="">
                            </div>
                            <blockquote class="gmail_quote" style="margin:0px 0px 0px
                              0.8ex;border-left:1px solid
                              rgb(204,204,204);padding-left:1ex">
                              <div lang="EN-GB" class="">
                                <div class="gmail-m_2770133802124160917gmail-m_-4967608389964707345gmail-m_-5075167384395705213m_6014060592539761735gmail-m_2357972737193542758WordSection1">
                                  <div class=""> <br class="gmail-m_2770133802124160917gmail-m_-4967608389964707345webkit-block-placeholder">
                                  </div><p class="MsoNormal">Thanks,</p><p class="MsoNormal">-Michael</p><div class=""> <br class="webkit-block-placeholder"></div><p class="MsoNormal">[1] <a href="https://llvm.org/docs/Proposals/VariableNames.html#provisional-plan" target="_blank" moz-do-not-send="true" class="">
https://llvm.org/docs/Proposals/VariableNames.html#provisional-plan</a></p><p class="MsoNormal">[2] <a href="https://public-inbox.org/git/20190515214503.77162-8-brho@google.com/T/" target="_blank" moz-do-not-send="true" class="">
https://public-inbox.org/git/20190515214503.77162-8-brho@google.com/T/</a></p><div class=""> <br class="webkit-block-placeholder"></div><p class="MsoNormal" style="margin-left:36pt"><b class=""><span lang="EN-US" class="">From:</span></b><span lang="EN-US" class=""> Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank" moz-do-not-send="true" class="">ruiu@google.com</a>>
                                      <br class="">
                                      <b class="">Sent:</b> 07 June 2019 08:42<br class="">
                                      <b class="">To:</b> Chris Lattner <<a href="mailto:clattner@nondot.org" target="_blank" moz-do-not-send="true" class="">clattner@nondot.org</a>><br class="">
                                      <b class="">Cc:</b> Michael Platings <<a href="mailto:Michael.Platings@arm.com" target="_blank" moz-do-not-send="true" class="">Michael.Platings@arm.com</a>>;
                                      <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true" class="">llvm-dev@lists.llvm.org</a>;
                                      nd <<a href="mailto:nd@arm.com" target="_blank" moz-do-not-send="true" class="">nd@arm.com</a>><br class="">
                                      <b class="">Subject:</b> Re: [llvm-dev]
                                      RFC: changing variable naming
                                      rules in LLVM codebase</span></p><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                  <div class="">
                                    <div class=""><p class="MsoNormal" style="margin-left:36pt">This
                                        thread is not active for a
                                        while, but I'm still interested
                                        in seeing a change.</p>
                                      <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                      </div>
                                      <div class=""><p class="MsoNormal" style="margin-left:36pt">Reading
                                          through this thread, looks
                                          like we can agree that we want
                                          to change the local variable
                                          naming scheme so that they
                                          start with a lowercase letter.
                                          Besides that, there were
                                          discussions about lower_case,
                                          camelCase, m_ prefix, and each
                                          argument seems as convincing
                                          as others. I'm not sure what
                                          is the decision making process
                                          in a situation like this.</p>
                                      </div>
                                      <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                      </div>
                                      <div class=""><p class="MsoNormal" style="margin-left:36pt">I'd
                                          personally vote for changing
                                          local variables to start with
                                          a lowercase letter and keep
                                          other naming conventions as-is
                                          to make it a minimum change.</p>
                                      </div>
                                      <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                      </div>
                                      <div class=""><p class="MsoNormal" style="margin-left:36pt">As I
                                          stated before, I'm happy to
                                          make a change to lld to see
                                          how a naming convention change
                                          will look like, but in order
                                          to do that I need to get at
                                          least a rough consensus to do
                                          that. What is a way to
                                          proceed?</p>
                                      </div>
                                    </div>
                                  </div><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                  <div class="">
                                    <div class=""><p class="MsoNormal" style="margin-left:36pt">On Sat,
                                        May 25, 2019 at 3:00 PM Chris
                                        Lattner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true" class="">llvm-dev@lists.llvm.org</a>>
                                        wrote:</p>
                                    </div>
                                    <blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt
                                      solid rgb(204,204,204);padding:0cm
                                      0cm 0cm
                                      6pt;margin-left:4.8pt;margin-right:0cm" class="">
                                      <div class=""><p class="MsoNormal" style="margin-left:36pt">Hi
                                          Michael,</p>
                                        <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                        </div>
                                        <div class=""><p class="MsoNormal" style="margin-left:36pt">I’m
                                            still very interested in
                                            seeing a change here.  If
                                            someone is interested in
                                            seeing a codebase using the
                                            proposed camelBack
                                            convention for variables
                                            names, the <a href="https://github.com/tensorflow/mlir" target="_blank" moz-do-not-send="true" class="">MLIR
                                              codebase is public</a> and
                                            uses it.</p>
                                        </div>
                                        <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                        </div>
                                        <div class=""><p class="MsoNormal" style="margin-left:36pt">If
                                            you’re curious to see what
                                            this looks like in practice,
                                            there are lots of examples
                                            in the codebase, here is <a href="https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp" target="_blank" moz-do-not-send="true" class="">an
                                              example .cpp file</a>, <a href="https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp" target="_blank" moz-do-not-send="true" class="">here
                                              is another</a>, here is
                                            an <a href="https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h" target="_blank" moz-do-not-send="true" class="">example
                                              header</a>.</p>
                                        </div>
                                        <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                        </div>
                                        <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                        </div>
                                        <div class=""><p class="MsoNormal" style="margin-left:36pt">We
                                            are still working our way
                                            through open sourcing
                                            logistics (not all the code
                                            is out yet), but we would
                                            still like to contribute at
                                            least parts of this to LLVM
                                            if the project is
                                            interested.  [[This is just
                                            an FYI, not itself a
                                            proposal yet - one will be
                                            coming when we’re ready.]]</p>
                                        </div>
                                        <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                        </div>
                                        <div class=""><p class="MsoNormal" style="margin-left:36pt">-Chris</p>
                                        </div>
                                        <div class=""><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                          <div class=""><p class="MsoNormal" style="margin-left:36pt"><br class="">
                                              <br class="">
                                            </p>
                                            <blockquote style="margin-top:5pt;margin-bottom:5pt" class="">
                                              <div class=""><p class="MsoNormal" style="margin-left:36pt">On
                                                  May 21, 2019, at 3:01
                                                  AM, Michael Platings
                                                  via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true" class="">llvm-dev@lists.llvm.org</a>>
                                                  wrote:</p>
                                              </div><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                              <div class="">
                                                <div class=""><p class="MsoNormal" style="margin-left:36pt">Hi
                                                    folks,<br class="">
                                                    <br class="">
                                                    Git is on its way to
                                                    learning how to
                                                    ignore commits,
                                                    allowing us to do
                                                    variable renaming
                                                    and other small
                                                    refactorings without
                                                    breaking git blame.<br class="">
                                                    <br class="">
                                                    It's like
                                                    git-hyper-blame [1]
                                                    but significantly
                                                    more powerful as it
                                                    uses fuzzy matching
                                                    to match lines,
                                                    including lines that
                                                    may have been split
                                                    or joined.<br class="">
                                                    <br class="">
                                                    A preview release of
                                                    Git with this new
                                                    feature is at: <a href="https://github.com/mplatings/git/releases/tag/ignore-rev" target="_blank" moz-do-not-send="true" class="">
https://github.com/mplatings/git/releases/tag/ignore-rev</a><br class="">
                                                    <br class="">
                                                    Some of you have
                                                    told me that you
                                                    already have to
                                                    spend time running
                                                    git blame multiple
                                                    times to look past
                                                    uninteresting
                                                    commits so I'd love
                                                    for you to give this
                                                    feature a try and
                                                    see if it helps you.
                                                    Your feedback will
                                                    be very valuable.<br class="">
                                                    <br class="">
                                                    Thanks,<br class="">
                                                    -Michael<br class="">
                                                    <br class="">
                                                    [1] <a href="https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-hyper-blame.html" target="_blank" moz-do-not-send="true" class="">
https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-hyper-blame.html</a><br class="">
_______________________________________________<br class="">
                                                    LLVM Developers
                                                    mailing list<br class="">
                                                    <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true" class="">llvm-dev@lists.llvm.org</a><br class="">
                                                    <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" moz-do-not-send="true" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></p>
                                                </div>
                                              </div>
                                            </blockquote>
                                          </div><div style="margin-left: 36pt;" class=""> <br class="webkit-block-placeholder"></div>
                                        </div>
                                      </div><p class="MsoNormal" style="margin-left:36pt">_______________________________________________<br class="">
                                        LLVM Developers mailing list<br class="">
                                        <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" moz-do-not-send="true" class="">llvm-dev@lists.llvm.org</a><br class="">
                                        <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank" moz-do-not-send="true" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></p>
                                    </blockquote>
                                  </div>
                                </div>
                              </div>
                            </blockquote>
                          </div>
                        </div>
                      </blockquote>
                    </div>
                  </div>
                </blockquote>
              </div>
              <br class="">
            </div>
          </div>
        </blockquote>
      </div>
      <br class="">
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
  </div>

_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></div></body></html>