[PATCH] [AArch64] Refactor AArch64NamedImmMapper to become dependent on subtarget features.

Eric Christopher echristo at gmail.com
Mon Apr 20 14:00:29 PDT 2015


Some comments inline.

-eric


REPOSITORY
  rL LLVM

================
Comment at: lib/Target/AArch64/Utils/AArch64BaseInfo.h:283
@@ -282,1 +282,3 @@
     uint32_t Value;
+    uint64_t AvailableForFeatures;
+    // empty AvailableForFeatures means "always-on"
----------------
This is a pretty terrible name. What do you mean here?

================
Comment at: lib/Target/AArch64/Utils/AArch64BaseInfo.h:284
@@ +283,3 @@
+    uint64_t AvailableForFeatures;
+    // empty AvailableForFeatures means "always-on"
+    template <typename T> bool isEqual(T Other) const;
----------------
Comments are full sentences.

================
Comment at: lib/Target/AArch64/Utils/AArch64BaseInfo.h:286
@@ +285,3 @@
+    template <typename T> bool isEqual(T Other) const;
+    template <typename T> bool isEqual(T Other, uint64_t FeatureBits) const {
+      if (AvailableForFeatures && !(AvailableForFeatures & FeatureBits))
----------------
I'm not a fan of this interface name. isEqual taking features and not changing the name isn't very descriptive.

================
Comment at: lib/Target/AArch64/Utils/AArch64BaseInfo.h:297
@@ -288,3 +296,3 @@
 
-  StringRef toString(uint32_t Value, bool &Valid) const;
-  uint32_t fromString(StringRef Name, bool &Valid) const;
+  StringRef toString(uint32_t Value, uint64_t FeatureBits, bool &Valid) const;
+  uint32_t fromString(StringRef Name, uint64_t FeatureBits, bool &Valid) const;
----------------
If you're taking FeatureBits now this should probably change names to make the interface more clear.

Also (and I realize this was already like this) the functions need a comment as to what they're for.

http://reviews.llvm.org/D8496

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






More information about the llvm-commits mailing list