diff options
author | David Brazdil <dbrazdil@google.com> | 2015-09-28 14:11:09 +0100 |
---|---|---|
committer | David Brazdil <dbrazdil@google.com> | 2015-09-28 15:31:55 +0100 |
commit | 1d0a03c2eb0e26ded029b84e011458e8466f87de (patch) | |
tree | 33943c964ae1b4aa2ed2e9d27ee5aeed5599acc2 /compiler/optimizing/graph_visualizer.cc | |
parent | 6adb995d8e0177189bf77e9a0f6fce7ded87d993 (diff) |
ART: Fix DeadPhiHandling creating >2 equivalents
Run test 531 failed a DCHECK because the DeadPhiHandling algorithm
would generate three phis of the same type:
(0) loop phi [#0, ref] with equivalents void & object
(1) type object equivalent by its first input => int & int
(2) request object equivalent by a user => int & int & object
(3) type second => int & object & object (dead)
(4) type first => object & object & object
This patch fixes the issue by skipping (1) when the phi already has
a type, thus not creating the third equivalent for the phi's user.
Change-Id: I00c990a5982ddc1f7de013f72bbcfb1c649a6e5f
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions