Revert to enabling all of -O2 as it exposes a bug in the toolchain.

Instead as a workaround we will temporarily disable tiling the
few GMs that produce errors with the existing 64-bit ARM toolchain.

BUG=skia:2908
R=mtklein@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/537713002
diff --git a/gm/bitmaprect.cpp b/gm/bitmaprect.cpp
index 8b29283..badffb9 100644
--- a/gm/bitmaprect.cpp
+++ b/gm/bitmaprect.cpp
@@ -45,6 +45,13 @@
         return SkISize::Make(640, 480);
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     virtual void onDraw(SkCanvas* canvas) SK_OVERRIDE {
         canvas->drawColor(0xFFCCCCCC);
 
diff --git a/gm/resizeimagefilter.cpp b/gm/resizeimagefilter.cpp
index e87dff0..bb09e0b 100644
--- a/gm/resizeimagefilter.cpp
+++ b/gm/resizeimagefilter.cpp
@@ -25,6 +25,13 @@
         return SkString("resizeimagefilter");
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     void draw(SkCanvas* canvas,
               const SkRect& rect,
               const SkSize& deviceSize,
diff --git a/gm/tilemodes_scaled.cpp b/gm/tilemodes_scaled.cpp
index 360539c..93a3db3 100644
--- a/gm/tilemodes_scaled.cpp
+++ b/gm/tilemodes_scaled.cpp
@@ -73,6 +73,13 @@
         return name;
     }
 
+#ifdef SK_CPU_ARM64
+    // Skip tiled drawing on 64-bit ARM until https://skbug.com/2908 is fixed.
+    virtual uint32_t onGetFlags() const SK_OVERRIDE {
+        return kSkipTiled_Flag;
+    }
+#endif
+
     SkISize onISize() { return SkISize::Make(880, 760); }
 
     virtual void onOnceBeforeDraw() SK_OVERRIDE {
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
index 0075b25..aa6da51 100644
--- a/gyp/common_conditions.gypi
+++ b/gyp/common_conditions.gypi
@@ -240,13 +240,6 @@
               '-fno-omit-frame-pointer',
             ],
           }],
-          [ 'skia_arch_type == "arm64"', {
-            # this flag causes tiling errors with GCC 4.9 (pre-release) toolchain
-            # see skbug.com/ 
-            'cflags': [
-              '-fno-expensive-optimizations'
-            ],
-          }],
           [ 'skia_arch_type == "arm" and arm_thumb == 1', {
             'cflags': [
               '-mthumb',