More aggressive reuse of spill slots in the register allocator.
authorjarin@chromium.org <jarin@chromium.org>
Sat, 30 Aug 2014 15:50:24 +0000 (15:50 +0000)
committerjarin@chromium.org <jarin@chromium.org>
Sat, 30 Aug 2014 15:50:24 +0000 (15:50 +0000)
commit5fba4891de56cb813d74addf65aa22cf9e6711d7
tree1e39984557472df900e2798558b4e0a5a7ba2bd5
parent630572a52b75b9e6caddd0ea5248d4cdd00ada7c
More aggressive reuse of spill slots in the register allocator.

Two improvements:
- At phi nodes, we now try to merge operands into one spill slot and
  then reuse the spill slot for the phi.
- After register allocation we merge disjoint spill slots.

With this change, I see about 4% improvement in zlib.

BUG=
R=titzer@chromium.org

Review URL: https://codereview.chromium.org/310003003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/hydrogen.cc
src/lithium-allocator.cc
src/lithium-allocator.h