TableGen: Remove redundant loop in ListInit::resolveReferences
authorNicolai Haehnle <nhaehnle@gmail.com>
Wed, 21 Mar 2018 17:13:10 +0000 (17:13 +0000)
committerNicolai Haehnle <nhaehnle@gmail.com>
Wed, 21 Mar 2018 17:13:10 +0000 (17:13 +0000)
Summary:
Recursive lookups are handled by the Resolver, so the loop was purely
a waste of runtime.

Change-Id: I2bd23a68b478aea0bbac1a86ca7635adffa28688

Reviewers: arsenm, craig.topper, tra, MartinO

Subscribers: wdng, llvm-commits

Differential Revision: https://reviews.llvm.org/D44624

llvm-svn: 328118

llvm/lib/TableGen/Record.cpp

index 81c75cd847d1c6de414da1f0eeb708abf56ecc98..30889b1e6e49937e9157587c03e6792279a7848a 100644 (file)
@@ -634,13 +634,8 @@ Init *ListInit::resolveReferences(Resolver &R) const {
   bool Changed = false;
 
   for (Init *CurElt : getValues()) {
-    Init *E;
-
-    do {
-      E = CurElt;
-      CurElt = CurElt->resolveReferences(R);
-      Changed |= E != CurElt;
-    } while (E != CurElt);
+    Init *E = CurElt->resolveReferences(R);
+    Changed |= E != CurElt;
     Resolved.push_back(E);
   }