Prevent loop optimization in debuggable mode.

bug: 33775412
Test: no scanner crash (torn on whether I should spend some time working on a smali test)

Change-Id: I8b94725ce57171b592bede4bf55cd0a9626a8a10
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc
index d249313..0bf5720 100644
--- a/compiler/optimizing/loop_optimization.cc
+++ b/compiler/optimizing/loop_optimization.cc
@@ -1448,6 +1448,12 @@
 //
 
 bool HLoopOptimization::TrySetPhiInduction(HPhi* phi, bool restrict_uses) {
+  // Special case Phis that have equivalent in a debuggable setup. Our graph checker isn't
+  // smart enough to follow strongly connected components (and it's probably not worth
+  // it to make it so). See b/33775412.
+  if (graph_->IsDebuggable() && phi->HasEquivalentPhi()) {
+    return false;
+  }
   DCHECK(iset_->empty());
   ArenaSet<HInstruction*>* set = induction_range_.LookupCycle(phi);
   if (set != nullptr) {