------- Comment #2 from hjl dot tools at gmail dot com  2008-09-17 20:07 -------
Here is one approach to add OVERRIDE_OPTIMIZATION_OPTIONS so
that a backend can have a chance to override optimization
options.

--- gcc/config/i386/i386.h.override     2008-09-11 16:48:39.000000000 -0700
+++ gcc/config/i386/i386.h      2008-09-17 13:02:45.000000000 -0700
@@ -482,6 +482,8 @@ enum calling_abi

 #define OVERRIDE_OPTIONS override_options (true)

+#define OVERRIDE_OPTIMIZATION_OPTIONS override_options (false)
+
 /* Define this to change the optimizations performed by default.  */
 #define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
   optimization_options ((LEVEL), (SIZE))
--- gcc/opts.c.override 2008-09-15 08:44:27.000000000 -0700
+++ gcc/opts.c  2008-09-17 13:00:58.000000000 -0700
@@ -1105,8 +1105,14 @@ decode_options (unsigned int argc, const
     }
 #endif

+#ifndef OVERRIDE_OPTIMIZATION_OPTIONS
+#define OVERRIDE_OPTIMIZATION_OPTIONS do { } while (0)
+#endif
+
   /* Save the current optimization options if this is the first call.  */
-  if (first_time_p)
+  if (!first_time_p)
+    OVERRIDE_OPTIMIZATION_OPTIONS;
+  else
     {
       optimization_default_node = build_optimization_node ();
       optimization_current_node = optimization_default_node;


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |c


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37565

Reply via email to