History log of /art/compiler/optimizing/dead_code_elimination.h
Revision Date Author Comments
69ba7b7112c2277ac225615b37e6df74c055740d 23-Jun-2015 David Brazdil <dbrazdil@google.com> ART: Run GraphChecker after Builder and SsaBuilder

This patch refactors the way GraphChecker is invoked, utilizing the
same scoping mechanism as pass timing and graph visualizer. Therefore,
GraphChecker will now run not just after instances of HOptimization
but after the builders and reg alloc, too.

Change-Id: I8173b98b79afa95e1fcbf3ac9630a873d7f6c1d4
e8ff50df01c89e1b5264a5a900cfebdde87a9b44 07-May-2015 David Brazdil <dbrazdil@google.com> 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)
a4b8c21dae70ae34aee13628632c39a675c06022 07-May-2015 David Brazdil <dbrazdil@google.com> 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
2d7352ba5311b8f57427b91b7a891e61497373c1 20-Apr-2015 David Brazdil <dbrazdil@google.com> ART: Dead block removal

Adds a new pass which finds all unreachable blocks, typically due to
simplifying an if-condition to a constant, and removes them from the
graph. The patch also slightly generalizes the graph-transforming
operations.

Change-Id: Iff7c97f1d10b52886f3cd7401689ebe1bfdbf456
862aaefdd63d8058b54a7d956a0229eec9dcbde6 22-Apr-2015 Calin Juravle <calin@google.com> [optimizing] Name the last DCE pass.

This will allow Checker to differentiate between them.

Change-Id: I972d452a64f1c19d370567b9ef3d620f9b835a9a
8f20bdb9d3b7516e75a7845e610105d87ce25ae6 21-Apr-2015 Calin Juravle <calin@google.com> Run DCE again after all the other optimizations have run.

On docs this doubles the amount of instructions removed.
0cdf6d31b6e8b39b56deba92336383f43fba9c0f 21-Apr-2015 Nicolas Geoffray <ngeoffray@google.com> Revert "Run DCE again after all the other optimizations have run."

Reverting because of libcore failures.

This reverts commit 7a9c885684c965fe84f91d8ad74f54f869e2a448.

Change-Id: Iafe59b02fe7617243d81533d66e609a3528e7a58
7a9c885684c965fe84f91d8ad74f54f869e2a448 21-Apr-2015 Calin Juravle <calin@google.com> Run DCE again after all the other optimizations have run.

On docs this doubles the amount of instructions removed.

Change-Id: I1712a92c0c0b3b32b111d194b64d8ea81d652822
5e6916cea259897baaca019c5c7a5d05746306ed 18-Nov-2014 Nicolas Geoffray <ngeoffray@google.com> Use HOptimization abstraction for running optimizations.

Move existing optimizations to it.

Change-Id: I3b43f9997faf4ed8875162e3a3abdf99375478dd
75be28332b278cff9039b54bfb228ac72f539ccc 17-Oct-2014 Roland Levillain <rpl@google.com> Revert "Revert "Introduce a class to implement optimization passes.""

This reverts commit 1ddbf6d4b37979a9f11a203c12befd5ae8b65df4.

Change-Id: I110a14668d1564ee0604dc958b91394b40da89fc
1ddbf6d4b37979a9f11a203c12befd5ae8b65df4 01-Oct-2014 Nicolas Geoffray <ngeoffray@google.com> Revert "Introduce a class to implement optimization passes."

This reverts commit bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8.

Change-Id: I0a483446666c9c24c45925a5fc199debdefd8b3e
bf9cd7ba2118a75f5aa9b56241c4d5fa00dedeb8 30-Sep-2014 Roland Levillain <rpl@google.com> Introduce a class to implement optimization passes.

- Add art::HOptimization.
- Rename art::ConstantPropagation to art::HConstantFolding in
compiler/optimizing/constant_folding.h to avoid name
clashes with a class of the same name in
compiler/dex/post_opt_passes.h.
- Rename art::DeadCodeElimination to
art::HDeadCodeElimination for consistency reasons.
- Have art::HDeadCodeElimination and art::HConstantFolding
derive from art::HOptimization.
- Start to use these optimizations in
art:OptimizingCompiler::TryCompile.

Change-Id: Iaab350c122d87b2333b3760312b15c0592d7e010
72bceff11a98cc1ecdb64a6fae16c521f99ec6a7 15-Sep-2014 Roland Levillain <rpl@google.com> Initiate a dead code elimination pass in the optimizing compiler.

Change-Id: Ie9db5d8e2c2c30e34145a0f7d2386b8ec58cfc4e