Fall back to Quick when Optimizing cannot compile.

Currently applies when seeing unresolved types/methods/fields,
and methods with try/catch.

Change-Id: I93b12d440b39f0b9faf98f08f2bfddedfeff7182
diff --git a/compiler/dex/pass_driver_me_opts.h b/compiler/dex/pass_driver_me_opts.h
index b930d02..e94c189 100644
--- a/compiler/dex/pass_driver_me_opts.h
+++ b/compiler/dex/pass_driver_me_opts.h
@@ -29,8 +29,10 @@
 
 class PassDriverMEOpts : public PassDriverME {
  public:
-  explicit PassDriverMEOpts(const PassManager* const manager, CompilationUnit* cu)
-      : PassDriverME(manager, cu) {
+  explicit PassDriverMEOpts(const PassManager* const manager,
+                            const PassManager* const post_opt_pass_manager,
+                            CompilationUnit* cu)
+      : PassDriverME(manager, cu), post_opt_pass_manager_(post_opt_pass_manager) {
   }
 
   ~PassDriverMEOpts() {
@@ -45,6 +47,8 @@
    * @brief Apply a patch: perform start/work/end functions.
    */
   virtual void ApplyPass(PassDataHolder* data, const Pass* pass) OVERRIDE;
+
+  const PassManager* const post_opt_pass_manager_;
 };
 
 }  // namespace art