summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2015-06-30 00:33:44 +0000
committerMatthias Braun <matze@braunis.de>2015-06-30 00:33:44 +0000
commitbd23647379440b0c0edd2d6e694934c71f7002f9 (patch)
tree2c1900656bae72de2c449dea02336c5e33dde997 /llvm/lib
parenta7ad09d0be070fc8e1e7a8dbf9f96d234e12fbf6 (diff)
downloadbcm5719-llvm-bd23647379440b0c0edd2d6e694934c71f7002f9.tar.gz
bcm5719-llvm-bd23647379440b0c0edd2d6e694934c71f7002f9.zip
RegisterCoalescer: Cleanup empty subranges after shrinkToUses()
A call to removeEmptySubranges() is necessary after every operation that potentially removes all segments from a subregister range; this case in the register coalescer was missing. llvm-svn: 241027
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/RegisterCoalescer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegisterCoalescer.cpp b/llvm/lib/CodeGen/RegisterCoalescer.cpp
index 7b7c7502172..7afea2a4f6f 100644
--- a/llvm/lib/CodeGen/RegisterCoalescer.cpp
+++ b/llvm/lib/CodeGen/RegisterCoalescer.cpp
@@ -1449,6 +1449,7 @@ bool RegisterCoalescer::joinCopy(MachineInstr *CopyMI, bool &Again) {
<< format("%04X", S.LaneMask) << ")\n");
LIS->shrinkToUses(S, LI.reg);
}
+ LI.removeEmptySubRanges();
}
if (ShrinkMainRange) {
LiveInterval &LI = LIS->getInterval(CP.getDstReg());
OpenPOWER on IntegriCloud