<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Feb 23, 2017 at 4:08 PM David L. Jones via Phabricator via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">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">dlj created this revision.<br class="gmail_msg">
Herald added subscribers: mgorny, nemanjai, jyknight, dschuff, srhines, danalbert, aemerson.<br class="gmail_msg">
Herald added a reviewer: javed.absar.<br class="gmail_msg">
<br class="gmail_msg">
This patch moves helper functions that are CPU-specific out of Driver.cpp and to<br class="gmail_msg">
separate implementation files. The new files are named for the architecture,<br class="gmail_msg">
e.g. ARMArch.cpp.<br class="gmail_msg"></blockquote><div><br></div><div>I'm guessing it's probably obvious - but some explanation for the motivation for the move might be handy. (I'm guessing something like allowing these pieces to be compiled only when the architecture support is compiled (in the same way that LLVM targets can be opted in/out, etc)?)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="gmail_msg">
The next step after this will be to move OS-specific code, which I expect will<br class="gmail_msg">
include many of the tool implementations, to similarly separate files.<br class="gmail_msg">
<br class="gmail_msg">
Some CPU-specific functions are not being moved just yet. In cases where the<br class="gmail_msg">
only caller is the platform-specific tools, I plan to move them together. An<br class="gmail_msg">
example is Hexagon, where the only caller of the architecture-specific functions<br class="gmail_msg">
are the tools themselves. (I'm happy to revise this choice, it just seems like<br class="gmail_msg">
less churn to me.)<br class="gmail_msg">
<br class="gmail_msg">
This does mean that some functions which were previously static are now exposed<br class="gmail_msg">
through the library header Driver.h.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D30315" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D30315</a><br class="gmail_msg">
<br class="gmail_msg">
Files:<br class="gmail_msg">
  lib/Driver/AArch64Arch.cpp<br class="gmail_msg">
  lib/Driver/ARMArch.cpp<br class="gmail_msg">
  lib/Driver/CMakeLists.txt<br class="gmail_msg">
  lib/Driver/MipsArch.cpp<br class="gmail_msg">
  lib/Driver/PPCArch.cpp<br class="gmail_msg">
  lib/Driver/SparcArch.cpp<br class="gmail_msg">
  lib/Driver/SystemZArch.cpp<br class="gmail_msg">
  lib/Driver/Tools.cpp<br class="gmail_msg">
  lib/Driver/Tools.h<br class="gmail_msg">
  lib/Driver/X86Arch.cpp<br class="gmail_msg">
<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
cfe-commits mailing list<br class="gmail_msg">
<a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br class="gmail_msg">
</blockquote></div></div>