OSDN Git Service

ART: Rediscover loops after deleting blocks in DCE
authorDavid Brazdil <dbrazdil@google.com>
Thu, 7 May 2015 08:59:30 +0000 (09:59 +0100)
committerDavid Brazdil <dbrazdil@google.com>
Wed, 13 May 2015 09:02:07 +0000 (10:02 +0100)
commite8ff50df01c89e1b5264a5a900cfebdde87a9b44
treea2c0cc80afcf4cbce0f2293e09c49cee98e5a4bb
parent6185884829333f0035de0488b1c4a2e84c7dd38b
ART: Rediscover loops after deleting blocks in DCE

The way DCE currently updates loop information does not cover all
cases. This patch removes the logic, resets loop information of live
blocks to pre-SSA state and reanalyzes the affected loops.

Change-Id: I0b996a70235b95a8db0de9a23a03f71db57a21b8
(cherry picked from commit a4b8c21dae70ae34aee13628632c39a675c06022)
compiler/optimizing/dead_code_elimination.cc
compiler/optimizing/dead_code_elimination.h
compiler/optimizing/graph_visualizer.cc
compiler/optimizing/nodes.cc
compiler/optimizing/nodes.h
compiler/optimizing/optimizing_compiler.cc
test/485-checker-dce-loop-update/expected.txt [new file with mode: 0644]
test/485-checker-dce-loop-update/info.txt [new file with mode: 0644]
test/485-checker-dce-loop-update/smali/TestCase.smali [new file with mode: 0644]
test/485-checker-dce-loop-update/src/Main.java [new file with mode: 0644]