common.opt (optimize_fast): New Variable.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 17 Feb 2011 22:51:57 +0000 (22:51 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Thu, 17 Feb 2011 22:51:57 +0000 (22:51 +0000)
* common.opt (optimize_fast): New Variable.
* opts.c (default_options_optimization): Use opts->x_optimize_fast
instead of local variable ofast.

From-SVN: r170259

gcc/ChangeLog
gcc/common.opt
gcc/opts.c

index 26a0c96f366d2d8ff64aa7ebe62334439fca838c..8382f5091decd9a444844c826b6aa9a3d80c3927 100644 (file)
@@ -1,3 +1,9 @@
+2011-02-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * common.opt (optimize_fast): New Variable.
+       * opts.c (default_options_optimization): Use opts->x_optimize_fast
+       instead of local variable ofast.
+
 2011-02-17  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * doc/invoke.texi (fobjc-abi-version): Documented.
index 1f24a3a67a0f243481d44fa72ee44197aa0a159c..f95805c7f1e0d4fc58c1a8f1fe06c507749ba95e 100644 (file)
@@ -32,6 +32,11 @@ int optimize
 Variable
 int optimize_size
 
+; Not used directly to control optimizations, only to save -Ofast
+; setting for "optimize" attributes.
+Variable
+int optimize_fast
+
 ; 0 means straightforward implementation of complex divide acceptable.
 ; 1 means wide ranges of inputs must work for complex divide.
 ; 2 means C99-like requirements for complex multiply and divide.
index 8ca9c67bb8e8e46928bcc8a29161dd42308bd54b..9f93356539f5f37d07874f5326cc882e8b65f9ae 100644 (file)
@@ -524,7 +524,6 @@ default_options_optimization (struct gcc_options *opts,
 {
   unsigned int i;
   int opt2;
-  int ofast = 0;
 
   /* Scan to see what optimization level has been specified.  That will
      determine the default value of many flags.  */
@@ -538,7 +537,7 @@ default_options_optimization (struct gcc_options *opts,
            {
              opts->x_optimize = 1;
              opts->x_optimize_size = 0;
-             ofast = 0;
+             opts->x_optimize_fast = 0;
            }
          else
            {
@@ -553,7 +552,7 @@ default_options_optimization (struct gcc_options *opts,
                  if ((unsigned int) opts->x_optimize > 255)
                    opts->x_optimize = 255;
                  opts->x_optimize_size = 0;
-                 ofast = 0;
+                 opts->x_optimize_fast = 0;
                }
            }
          break;
@@ -563,14 +562,14 @@ default_options_optimization (struct gcc_options *opts,
 
          /* Optimizing for size forces optimize to be 2.  */
          opts->x_optimize = 2;
-         ofast = 0;
+         opts->x_optimize_fast = 0;
          break;
 
        case OPT_Ofast:
          /* -Ofast only adds flags to -O3.  */
          opts->x_optimize_size = 0;
          opts->x_optimize = 3;
-         ofast = 1;
+         opts->x_optimize_fast = 1;
          break;
 
        default:
@@ -581,7 +580,7 @@ default_options_optimization (struct gcc_options *opts,
 
   maybe_default_options (opts, opts_set, default_options_table,
                         opts->x_optimize, opts->x_optimize_size,
-                        ofast, lang_mask, handlers, loc, dc);
+                        opts->x_optimize_fast, lang_mask, handlers, loc, dc);
 
   /* -O2 param settings.  */
   opt2 = (opts->x_optimize >= 2);
@@ -611,7 +610,7 @@ default_options_optimization (struct gcc_options *opts,
   maybe_default_options (opts, opts_set,
                         targetm.target_option.optimization_table,
                         opts->x_optimize, opts->x_optimize_size,
-                        ofast, lang_mask, handlers, loc, dc);
+                        opts->x_optimize_fast, lang_mask, handlers, loc, dc);
 }
 
 /* After all options at LOC have been read into OPTS and OPTS_SET,