<div dir="ltr"><div>Hi all,</div><div><br></div><div>I wrote a <a href="https://reviews.llvm.org/D64123">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">https://reviews.llvm.org/D64121</a>. If you have any comments, please reply.</div><div><br></div><div>If people are happy about this change, I can do the same thing for other directories including LLVM itself and Clang.</div></div><br><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">ruiu@google.com</a>> wrote:<br></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"><div dir="ltr">On Mon, Jun 10, 2019 at 6:27 PM Michael Platings <<a href="mailto:Michael.Platings@arm.com" target="_blank">Michael.Platings@arm.com</a>> wrote:<br></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">
<div class="gmail-m_-5075167384395705213m_6014060592539761735gmail-m_2357972737193542758WordSection1">
<p class="MsoNormal">Hi Rui,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<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.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<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><br></div><div>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><br></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"><div class="gmail-m_-5075167384395705213m_6014060592539761735gmail-m_2357972737193542758WordSection1"><p class="MsoNormal"> </p><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal">-Michael<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">[1] <a href="https://llvm.org/docs/Proposals/VariableNames.html#provisional-plan" target="_blank">
https://llvm.org/docs/Proposals/VariableNames.html#provisional-plan</a><u></u><u></u></p>
<p class="MsoNormal">[2] <a href="https://public-inbox.org/git/20190515214503.77162-8-brho@google.com/T/" target="_blank">
https://public-inbox.org/git/20190515214503.77162-8-brho@google.com/T/</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-left:36pt"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Rui Ueyama <<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>>
<br>
<b>Sent:</b> 07 June 2019 08:42<br>
<b>To:</b> Chris Lattner <<a href="mailto:clattner@nondot.org" target="_blank">clattner@nondot.org</a>><br>
<b>Cc:</b> Michael Platings <<a href="mailto:Michael.Platings@arm.com" target="_blank">Michael.Platings@arm.com</a>>; <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>; nd <<a href="mailto:nd@arm.com" target="_blank">nd@arm.com</a>><br>
<b>Subject:</b> Re: [llvm-dev] RFC: changing variable naming rules in LLVM codebase<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:36pt">This thread is not active for a while, but I'm still interested in seeing a change.<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<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?<u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
<div>
<div>
<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">llvm-dev@lists.llvm.org</a>> wrote:<u></u><u></u></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">
<div>
<p class="MsoNormal" style="margin-left:36pt">Hi Michael,<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<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">MLIR
 codebase is public</a> and uses it.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<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">an
 example .cpp file</a>, <a href="https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp" target="_blank">here is another</a>, here is an <a href="https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h" target="_blank">example
 header</a>.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<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.]]<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt">-Chris<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:36pt"><br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<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">llvm-dev@lists.llvm.org</a>> wrote:<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:36pt">Hi folks,<br>
<br>
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>
<br>
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>
<br>
A preview release of Git with this new feature is at: <a href="https://github.com/mplatings/git/releases/tag/ignore-rev" target="_blank">
https://github.com/mplatings/git/releases/tag/ignore-rev</a><br>
<br>
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>
<br>
Thanks,<br>
-Michael<br>
<br>
[1] <a href="https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-hyper-blame.html" target="_blank">
https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-hyper-blame.html</a><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:36pt"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-left:36pt">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>

</blockquote></div></div>
</blockquote></div>