[PATCH] D11174: [BranchFolding] do not iterate the aliases of virtual registers

Benjamin Kramer benny.kra at gmail.com
Tue Jul 21 15:29:35 PDT 2015


bkramer added a comment.

This looks good with one comment below. Also the top comment in this file could use an update so it's clear that the pass has to handle vregs too.


================
Comment at: lib/CodeGen/BranchFolding.cpp:1812-1816
@@ -1802,5 +1811,7 @@
         continue;
-      for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI)
-        LocalDefsSet.erase(*AI);
+      if (TargetRegisterInfo::isPhysicalRegister(Reg)) {
+        for (MCRegAliasIterator AI(Reg, TRI, true); AI.isValid(); ++AI)
+          LocalDefsSet.erase(*AI);
+      }
     }
 
----------------
The alias iterator has the IncludeSelf flag set, so shouldn't Reg be removed from the set even if it's a vreg?


http://reviews.llvm.org/D11174







More information about the llvm-commits mailing list