diff options
author | Matthias Braun <matze@braunis.de> | 2015-06-30 00:33:44 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2015-06-30 00:33:44 +0000 |
commit | bd23647379440b0c0edd2d6e694934c71f7002f9 (patch) | |
tree | 2c1900656bae72de2c449dea02336c5e33dde997 /llvm/lib | |
parent | a7ad09d0be070fc8e1e7a8dbf9f96d234e12fbf6 (diff) | |
download | bcm5719-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.cpp | 1 |
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()); |