I guess Support is an OK place to park this particular pile of strings, enums, 
and tables. The target feature CPU and feature parsing is very similar in 
nature to triple parsing.

If this reaches the logical conclusion, we'll have a file per in-tree LLVM 
backend, or 13 files. At that point, we might wish to make a new library.


================
Comment at: include/llvm/Support/ARMTargetParser.h:23
@@ +22,3 @@
+  // FPU names.
+  // FIXME: TableGen this.
+  enum FPUKind {
----------------
Actually, I'd much rather use .def files if possible. TableGen slows down 
builds and is hard to understand. Sure, pre-processor macros are hard to reason 
about, but they're *still* easier to understand than tablegen.

Also, so long as this library is in Support, and I think it will be here for a 
while, this FIXME is unactionable because Support cannot depend on TableGen.

I think we can solve any inflexibility of .def files with a separate plain C++ 
source synonym table, like you currently have.

================
Comment at: lib/Support/ARMTargetParser.cpp:104-105
@@ +103,4 @@
+const char *
+ARMTargetParser::
+getFPUName(unsigned ID) {
+  if (ID >= ARM::LAST_FPU)
----------------
This style of separating the class name and the method name appears in LLVM, 
but it's really uncommon and I don't want to encourage it. Do you mind not 
using it?

http://reviews.llvm.org/D9435

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to