[llvm] r296365 - [Hexagon] Defs and clobbers can overlap

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 27 10:03:36 PST 2017


Author: kparzysz
Date: Mon Feb 27 12:03:35 2017
New Revision: 296365

URL: http://llvm.org/viewvc/llvm-project?rev=296365&view=rev
Log:
[Hexagon] Defs and clobbers can overlap

Modified:
    llvm/trunk/lib/Target/Hexagon/HexagonBlockRanges.cpp

Modified: llvm/trunk/lib/Target/Hexagon/HexagonBlockRanges.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/HexagonBlockRanges.cpp?rev=296365&r1=296364&r2=296365&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Hexagon/HexagonBlockRanges.cpp (original)
+++ llvm/trunk/lib/Target/Hexagon/HexagonBlockRanges.cpp Mon Feb 27 12:03:35 2017
@@ -362,12 +362,11 @@ void HexagonBlockRanges::computeInitialL
           Clobbers.insert(R);
       }
     }
-#ifndef NDEBUG
+    // Defs and clobbers can overlap, e.g.
+    // %D0<def,dead> = COPY %vreg5, %R0<imp-def>, %R1<imp-def>
     for (RegisterRef R : Defs)
-      assert(!Clobbers.count(R));
-    for (RegisterRef R : Clobbers)
-      assert(!Defs.count(R));
-#endif
+      Clobbers.erase(R);
+
     // Update maps for defs.
     for (RegisterRef S : Defs) {
       // Defs should already be expanded into subregs.




More information about the llvm-commits mailing list