Revert "Optimizing: Disable -Wframe-larger-than= for CompileOptimized()."

Instead, prevent inlining of AllocateRegisters() that uses
huge stack-allocated objects.

Bug: 24698147

This reverts commit 67f784e63343db5ecd6e584343484684ea60d1f8.

Change-Id: I94c408f7acf6e43897a248d9ea0761b979ed00c8
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 12d6b03..28514e1 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -31,6 +31,7 @@
 #include "base/arena_allocator.h"
 #include "base/arena_containers.h"
 #include "base/dumpable.h"
+#include "base/macros.h"
 #include "base/timing_logger.h"
 #include "boolean_simplifier.h"
 #include "bounds_check_elimination.h"
@@ -534,6 +535,7 @@
   return ArrayRef<const uint8_t>(vector);
 }
 
+NO_INLINE  // Avoid increasing caller's frame size by large stack-allocated objects.
 static void AllocateRegisters(HGraph* graph,
                               CodeGenerator* codegen,
                               PassObserver* pass_observer) {
@@ -562,9 +564,6 @@
   return linker_patches;
 }
 
-// TODO: The function below uses too much stack space. Bug: 24698147
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wframe-larger-than="
 CompiledMethod* OptimizingCompiler::CompileOptimized(HGraph* graph,
                                                      CodeGenerator* codegen,
                                                      CompilerDriver* compiler_driver,
@@ -614,7 +613,6 @@
   soa.Self()->TransitionFromSuspendedToRunnable();
   return compiled_method;
 }
-#pragma GCC diagnostic pop
 
 CompiledMethod* OptimizingCompiler::CompileBaseline(
     CodeGenerator* codegen,