[Hexagon] Properly close live range in HexagonBlockRanges

llvm-svn: 267173
diff --git a/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp b/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
index 45c9856..1f6d362 100644
--- a/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonBlockRanges.cpp
@@ -330,7 +330,7 @@
       if (TargetRegisterInfo::isPhysicalRegister(R.Reg) && Reserved[R.Reg])
         continue;
       for (auto S : expandToSubRegs(R, MRI, TRI)) {
-        if (LastDef[S] != IndexType::None)
+        if (LastDef[S] != IndexType::None || LastUse[S] != IndexType::None)
           closeRange(S);
         LastDef[S] = Index;
       }