summaryrefslogtreecommitdiffstats
path: root/compiler/dex/quick
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2015-04-24 19:03:51 +0100
committerVladimir Marko <vmarko@google.com>2015-04-27 09:21:09 +0100
commita5e69e87c630c08c0de1740427e60d531ce851b9 (patch)
treeccdbfa09d7a64d709af79aa17c61c8a2589d0f8c /compiler/dex/quick
parent4a35e768dcb12ffecfed07e0417610afcb9472eb (diff)
downloadart-a5e69e87c630c08c0de1740427e60d531ce851b9.zip
art-a5e69e87c630c08c0de1740427e60d531ce851b9.tar.gz
art-a5e69e87c630c08c0de1740427e60d531ce851b9.tar.bz2
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 Change-Id: I1a4d4e32cd57807ca8b56d2f3ed5e1288660b82e
Diffstat (limited to 'compiler/dex/quick')
-rw-r--r--compiler/dex/quick/quick_compiler.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/dex/quick/quick_compiler.cc b/compiler/dex/quick/quick_compiler.cc
index 39eb117..73cfe92 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) |