From d31cf3d55a0847c018c4eaa2b349b8eea509de64 Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Mon, 8 Sep 2014 17:30:24 +0100 Subject: First optimization in new compiler: simple GVN. Change-Id: Ibe0efa4e84fd020a53ded310a92e0b4363f91b12 --- compiler/optimizing/optimizing_compiler.cc | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'compiler/optimizing/optimizing_compiler.cc') diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 3ce8e7797b..702eba183c 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -25,6 +25,7 @@ #include "driver/compiler_driver.h" #include "driver/dex_compilation_unit.h" #include "graph_visualizer.h" +#include "gvn.h" #include "nodes.h" #include "register_allocator.h" #include "ssa_phi_elimination.h" @@ -260,6 +261,8 @@ CompiledMethod* OptimizingCompiler::TryCompile(const DexFile::CodeItem* code_ite SsaRedundantPhiElimination(graph).Run(); SsaDeadPhiElimination(graph).Run(); + GlobalValueNumberer(graph->GetArena(), graph).Run(); + visualizer.DumpGraph(kGVNPassName); SsaLivenessAnalysis liveness(*graph, codegen); liveness.Analyze(); @@ -300,6 +303,9 @@ CompiledMethod* OptimizingCompiler::TryCompile(const DexFile::CodeItem* code_ite graph->TransformToSSA(); visualizer.DumpGraph("ssa"); graph->FindNaturalLoops(); + SsaRedundantPhiElimination(graph).Run(); + SsaDeadPhiElimination(graph).Run(); + GlobalValueNumberer(graph->GetArena(), graph).Run(); SsaLivenessAnalysis liveness(*graph, codegen); liveness.Analyze(); visualizer.DumpGraph(kLivenessPassName); -- cgit v1.2.3-59-g8ed1b