<div dir="ltr">I came across llvm/docs/HistoricalNotes/2002-06-25-MegaPatchInfo.txt, which has this:<div>"""<br><div><div>* The Function class now has helper functions for accessing the Arguments list.</div><div>  Instead of having to go through getArgumentList for simple things like</div><div>  iterator over the arguments, now the a*() methods can be used to access them.</div></div><div>"""</div><div><br></div><div>So, it seems like there was a desire to move away from using getArgumentList() all the way back in 2002.</div></div><div><br></div><div>I removed getArgumentList() in a follow-up change anyway, so it's not a public member anymore.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 20, 2017 at 8:54 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.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"><br><br><div class="gmail_quote"><span class=""><div dir="ltr">On Thu, Mar 16, 2017 at 12:07 PM Reid Kleckner via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rnk<br class="m_7976901512862770450gmail_msg">
Date: Thu Mar 16 13:55:46 2017<br class="m_7976901512862770450gmail_msg">
New Revision: 297975<br class="m_7976901512862770450gmail_msg">
<br class="m_7976901512862770450gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=297975&view=rev" rel="noreferrer" class="m_7976901512862770450gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=297975&view=rev</a><br class="m_7976901512862770450gmail_msg">
Log:<br class="m_7976901512862770450gmail_msg">
Use arg_begin() instead of getArgumentList().begin(), the argument list is an implementation detail<br class="m_7976901512862770450gmail_msg"></blockquote></span><div><br>Seems like a somewhat strange justification, given that getArgumentList looks like a public member and probably used pervasively before LLVM moved towards more iterator-centric interfaces, etc.<br><br>What do you mean by 'an implementation detail' in this context/what motivated this change? (curious what I'm missing)<br><br>- Dave<br> </div><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="m_7976901512862770450gmail_msg">
Modified:<br class="m_7976901512862770450gmail_msg">
    cfe/trunk/lib/CodeGen/<wbr>CGOpenMPRuntime.cpp<br class="m_7976901512862770450gmail_msg">
<br class="m_7976901512862770450gmail_msg">
Modified: cfe/trunk/lib/CodeGen/<wbr>CGOpenMPRuntime.cpp<br class="m_7976901512862770450gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp?rev=297975&r1=297974&r2=297975&view=diff" rel="noreferrer" class="m_7976901512862770450gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/CodeGen/<wbr>CGOpenMPRuntime.cpp?rev=<wbr>297975&r1=297974&r2=297975&<wbr>view=diff</a><br class="m_7976901512862770450gmail_msg">
==============================<wbr>==============================<wbr>==================<br class="m_7976901512862770450gmail_msg">
--- cfe/trunk/lib/CodeGen/<wbr>CGOpenMPRuntime.cpp (original)<br class="m_7976901512862770450gmail_msg">
+++ cfe/trunk/lib/CodeGen/<wbr>CGOpenMPRuntime.cpp Thu Mar 16 13:55:46 2017<br class="m_7976901512862770450gmail_msg">
@@ -3780,9 +3780,7 @@ CGOpenMPRuntime::emitTaskInit(<wbr>CodeGenFun<br class="m_7976901512862770450gmail_msg">
   // Emit initial values for private copies (if any).<br class="m_7976901512862770450gmail_msg">
   llvm::Value *TaskPrivatesMap = nullptr;<br class="m_7976901512862770450gmail_msg">
   auto *TaskPrivatesMapTy =<br class="m_7976901512862770450gmail_msg">
-      std::next(cast<llvm::Function><wbr>(TaskFunction)-><wbr>getArgumentList().begin(),<br class="m_7976901512862770450gmail_msg">
-                3)<br class="m_7976901512862770450gmail_msg">
-          ->getType();<br class="m_7976901512862770450gmail_msg">
+      std::next(cast<llvm::Function><wbr>(TaskFunction)->arg_begin(), 3)->getType();<br class="m_7976901512862770450gmail_msg">
   if (!Privates.empty()) {<br class="m_7976901512862770450gmail_msg">
     auto FI = std::next(<wbr>KmpTaskTWithPrivatesQTyRD-><wbr>field_begin());<br class="m_7976901512862770450gmail_msg">
     TaskPrivatesMap = emitTaskPrivateMappingFunction<wbr>(<br class="m_7976901512862770450gmail_msg">
<br class="m_7976901512862770450gmail_msg">
<br class="m_7976901512862770450gmail_msg">
______________________________<wbr>_________________<br class="m_7976901512862770450gmail_msg">
cfe-commits mailing list<br class="m_7976901512862770450gmail_msg">
<a href="mailto:cfe-commits@lists.llvm.org" class="m_7976901512862770450gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a><br class="m_7976901512862770450gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" class="m_7976901512862770450gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br class="m_7976901512862770450gmail_msg">
</blockquote></span></div></div>
</blockquote></div><br></div>