------- 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