TableGen/Record: Shortcut member access in hottest function
authorMatthias Braun <matze@braunis.de>
Mon, 5 Dec 2016 07:35:09 +0000 (07:35 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 5 Dec 2016 07:35:09 +0000 (07:35 +0000)
This may seem unusual, but makes most debug tblgen builds ~10% faster.
Usually we wouldn't care about speed that much in debug builds, but for
tblgen that also translates into build time.

llvm-svn: 288652

llvm/include/llvm/TableGen/Record.h

index fa3e9f2..7830ba6 100644 (file)
@@ -1221,6 +1221,7 @@ public:
 //===----------------------------------------------------------------------===//
 
 class RecordVal {
+  friend class Record;
   Init *Name;
   PointerIntPair<RecTy *, 1, bool> TyAndPrefix;
   Init *Value;
@@ -1359,7 +1360,7 @@ public:
 
   const RecordVal *getValue(const Init *Name) const {
     for (const RecordVal &Val : Values)
-      if (Val.getNameInit() == Name) return &Val;
+      if (Val.Name == Name) return &Val;
     return nullptr;
   }
 
@@ -1369,7 +1370,7 @@ public:
 
   RecordVal *getValue(const Init *Name) {
     for (RecordVal &Val : Values)
-      if (Val.getNameInit() == Name) return &Val;
+      if (Val.Name == Name) return &Val;
     return nullptr;
   }