summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp b/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
index 04621f4f440..721cf041728 100644
--- a/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
@@ -362,12 +362,11 @@ void HexagonBlockRanges::computeInitialLiveRanges(InstrIndexMap &IndexMap,
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.
OpenPOWER on IntegriCloud