OSDN Git Service

Fix another case of live_in at irreducible loop entry.
authorNicolas Geoffray <ngeoffray@google.com>
Tue, 10 May 2016 13:35:34 +0000 (14:35 +0100)
committerNicolas Geoffray <ngeoffray@google.com>
Wed, 11 May 2016 08:54:19 +0000 (09:54 +0100)
commit77ce6430af2709432b22344ed656edd8ec80581b
treea11f05756407cf9ccd5bd03d5f466f4bb727fcc4
parentf11e5473461d9f33d4427187fb945a1edcf2ef34
Fix another case of live_in at irreducible loop entry.

GVN was implicitly extending the liveness of an instruction across
an irreducible loop.

Fix this problem by clearing the value set at loop entries that contain
an irreducible loop.

bug:28252896
Change-Id: I68823cb88dceb4c2b4545286ba54fd0c958a48b0
12 files changed:
compiler/optimizing/graph_visualizer.cc
compiler/optimizing/gvn.cc
compiler/optimizing/licm.cc
compiler/optimizing/nodes.cc
compiler/optimizing/nodes.h
compiler/optimizing/register_allocator.cc
compiler/optimizing/ssa_liveness_analysis.cc
compiler/optimizing/ssa_liveness_analysis.h
test/599-checker-irreducible-loop/expected.txt [new file with mode: 0644]
test/599-checker-irreducible-loop/info.txt [new file with mode: 0644]
test/599-checker-irreducible-loop/smali/IrreducibleLoop.smali [new file with mode: 0644]
test/599-checker-irreducible-loop/src/Main.java [new file with mode: 0644]