diff options
| author | 2015-04-24 19:03:51 +0100 | |
|---|---|---|
| committer | 2015-04-28 14:58:15 +0100 | |
| commit | c6e7845740b3e29d942d2892e465762afda37058 (patch) | |
| tree | a94566e9ed3c11b689daccd6fdf7dfe07821247f /compiler/dex/quick/quick_compiler.cc | |
| parent | 0dd76cd3f09f495a1b9a0e4f8712c09ff885c6fd (diff) | |
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
Diffstat (limited to 'compiler/dex/quick/quick_compiler.cc')
| -rw-r--r-- | compiler/dex/quick/quick_compiler.cc | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |