summaryrefslogtreecommitdiffstats
path: root/compiler/dex/mir_graph.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-04-20 10:48:13 +0100
committerVladimir Marko <vmarko@google.com>2015-04-23 18:47:53 +0100
commitad67727a492df635aa54dbe58d6c0de54431f600 (patch)
tree17aed602d16377ed058f9a82dd0dbcdb1d8fa4f1 /compiler/dex/mir_graph.h
parent4ceed922d44b68c3fa7cbe670014c9e2e003b92b (diff)
downloadandroid_art-ad67727a492df635aa54dbe58d6c0de54431f600.tar.gz
android_art-ad67727a492df635aa54dbe58d6c0de54431f600.tar.bz2
android_art-ad67727a492df635aa54dbe58d6c0de54431f600.zip
Quick: Fix and enable DCE and improve GVN/DCE cleanup.
When eliminating a move by renaming its source register, check that it doesn't conflict with vreg usage by insns between the defining insn and the move. Improve the GVN/DCE cleanup so that it can handle cases where GVN or DCE is individually disabled in the pass driver but not in the disable_opt flags. Bug: 19419671 Change-Id: I49bb67b81509f51fbaf90c6016c509962be43736
Diffstat (limited to 'compiler/dex/mir_graph.h')
-rw-r--r--compiler/dex/mir_graph.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/dex/mir_graph.h b/compiler/dex/mir_graph.h
index 0db54bf23c..7f9698bbee 100644
--- a/compiler/dex/mir_graph.h
+++ b/compiler/dex/mir_graph.h
@@ -1101,6 +1101,7 @@ class MIRGraph {
bool EliminateDeadCodeGate();
bool EliminateDeadCode(BasicBlock* bb);
void EliminateDeadCodeEnd();
+ void GlobalValueNumberingCleanup();
bool EliminateSuspendChecksGate();
bool EliminateSuspendChecks(BasicBlock* bb);