OSDN Git Service

Fix a bug in the register allocator.
authorNicolas Geoffray <ngeoffray@google.com>
Thu, 15 Jan 2015 15:37:37 +0000 (15:37 +0000)
committerNicolas Geoffray <ngeoffray@google.com>
Fri, 16 Jan 2015 08:37:59 +0000 (08:37 +0000)
commitdd8f887e81b894bc8075d8bacdb223747b6a8018
tree2358f04f707177fc5b1a8463973ddd5f295d6e72
parent63991dd7c9bd68f23121e420c005628d7307cba3
Fix a bug in the register allocator.

When allocating a register blocked by existing intervals,
we need to split inactive intervals at the end of their
lifetime hole, and not at the next intersection. Otherwise,
the allocation for following intervals will not see
that a register is being used by the split interval.

Change-Id: I40cc79dde541c07392a7cf4c6f0b291dd1ce1819
compiler/optimizing/nodes.h
compiler/optimizing/optimizing_unit_test.h
compiler/optimizing/register_allocator.cc
compiler/optimizing/register_allocator.h
compiler/optimizing/register_allocator_test.cc
compiler/optimizing/ssa_liveness_analysis.h