[PATCH] D23172: IfConversion: Add implicit uses for live subregisters

Matthias Braun via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 22 13:25:44 PDT 2016


MatzeB added a comment.

Looks fine to me in principle, however I think we can get away with 1 implicit use per clobber at most:


================
Comment at: lib/CodeGen/IfConversion.cpp:1456-1460
@@ -1455,2 +1455,7 @@
       MIB.addReg(Reg, RegState::Implicit);
+    else {
+      for (MCSubRegIterator S(Reg, TRI); S.isValid(); ++S)
+        if (LiveBeforeMI.count(*S))
+          MIB.addReg(*S, RegState::Implicit);
+    }
   }
----------------
Would it be more reasonable to check if any subreg is alive and then only add a single implicit use for `Reg`. Otherwise I'd be concerned that we end up with a large number of implicit-use operands for deep register hierarchies.


Repository:
  rL LLVM

https://reviews.llvm.org/D23172





More information about the llvm-commits mailing list