<div dir="ltr">+echristo, since he's played with subtargets a lot recently so might have some insight about good ways to do this/deficiencies in the current ARM representation/whatnot</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 13, 2015 at 9:29 AM, Bradley Smith via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">bsmith created this revision.<br>
bsmith added a reviewer: t.p.northover.<br>
bsmith added a subscriber: llvm-commits.<br>
bsmith set the repository for this revision to rL LLVM.<br>
Herald added subscribers: rengolin, aemerson.<br>
<br>
This change refactors the CPU definitions in ARM.td to pull out architecture as separate subtarget features, this has a few benefits:<br>
<br>
* It allows architectures to more accurately be targeted<br>
* It removes the hard-coded feature strings in the ARM backend's MCTargetDesc<br>
* It generally tidies up the target definitions ARM.td allowing CPUs to properly inherit from architectures<br>
<br>
The rationale behind this is two fold, firstly to help support architectures being targeted using -mcpu=generic (see my next patch for details), and also so that multiple architectures without a supported CPU (such as ARMv8.1-A currently) can be targeted without having duplicate generic CPU fields in the TargetParser (which is currently broken, see my next patch also).<br>
<br>
The intention here is not to change the the current set of features enabled for each CPU, the feature sets should be remaining the same.<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D14660" rel="noreferrer" target="_blank">http://reviews.llvm.org/D14660</a><br>
<br>
Files:<br>
  include/llvm/MC/MCSubtargetInfo.h<br>
  lib/MC/MCSubtargetInfo.cpp<br>
  lib/Target/ARM/ARM.td<br>
  lib/Target/ARM/ARMSubtarget.h<br>
  lib/Target/ARM/AsmParser/ARMAsmParser.cpp<br>
  lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp<br>
<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>