From c6e7845740b3e29d942d2892e465762afda37058 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Fri, 24 Apr 2015 19:03:51 +0100 Subject: Quick: Rely on inferred types in GVN/LVN/DCE. Fix LVN::GetEndingVregValueNumberImpl() to check whether the requested wideness matches the SSA register type as recorded in MIRGraph::reg_location_. Add DCHECKs that the wideness matches when getting/setting sreg values, update Phi handling in LVN/DCE to use the type from MIRGraph::reg_location_ instead of determining it from the sreg value maps which would now trigger the DCHECKs. Update tests to initialize MIRGraph::reg_location_. Reenable DCE. Bug: 20572509 (cherry picked from commit a5e69e87c630c08c0de1740427e60d531ce851b9) Change-Id: Ieb97ac9e3672b977e36fd7f369a975bae7d5271e --- compiler/dex/quick/quick_compiler.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/dex/quick/quick_compiler.cc') diff --git a/compiler/dex/quick/quick_compiler.cc b/compiler/dex/quick/quick_compiler.cc index 39eb117e9c..73cfe92c45 100644 --- a/compiler/dex/quick/quick_compiler.cc +++ b/compiler/dex/quick/quick_compiler.cc @@ -575,7 +575,7 @@ static uint32_t kCompilerOptimizerDisableFlags = 0 | // Disable specific optimi // (1 << kNullCheckElimination) | // (1 << kClassInitCheckElimination) | // (1 << kGlobalValueNumbering) | - (1 << kGvnDeadCodeElimination) | + // (1 << kGvnDeadCodeElimination) | // (1 << kLocalValueNumbering) | // (1 << kPromoteRegs) | // (1 << kTrackLiveTemps) | -- cgit v1.2.3-59-g8ed1b