flags.h (flag_really_no_inline): Remove.
authorJan Hubicka <jh@suse.cz>
Tue, 29 Jul 2008 11:00:58 +0000 (13:00 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 29 Jul 2008 11:00:58 +0000 (11:00 +0000)
* flags.h (flag_really_no_inline): Remove.
* cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
* toplev.c (flag_really_no_inline): Remove.
* c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
* ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
(cgraph_decide_inlining_incrementally): Likewise.
(compute_inline_parameters): Likewise.
* opts.c (decode_options): Simplify.
* c-opts.c (c_common_post_options): Do not set flag_no_inline.
* common.opt (finline): Initialize to 1.
* tree-inline.c (inlinable_function_p): Check flag_no_inline.

* lang.c (java_post_options): Remove handling of flag_no_inline.

* misc.c (gnat_post_options): Do not set flag_no_inline.

* options.c (gfc_post_options): Do not set flag_no_inline.

From-SVN: r138238

18 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/misc.c
gcc/c-cppbuiltin.c
gcc/c-opts.c
gcc/cgraph.c
gcc/common.opt
gcc/flags.h
gcc/fortran/ChangeLog
gcc/fortran/options.c
gcc/ipa-inline.c
gcc/java/ChangeLog
gcc/java/lang.c
gcc/opts.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20040206-1.c
gcc/toplev.c
gcc/tree-inline.c

index 296b56289b59e3f74ec9a9fc907c77989f54b943..8f51561972eca64aa53aace1821c33aa091f0045 100644 (file)
@@ -1,4 +1,18 @@
-2008-07-29  Jan HUbicka  <jh@suse.cz>
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * flags.h (flag_really_no_inline): Remove.
+       * cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
+       * toplev.c (flag_really_no_inline): Remove.
+       * c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
+       * ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
+       (cgraph_decide_inlining_incrementally): Likewise.
+       (compute_inline_parameters): Likewise.
+       * opts.c (decode_options): Simplify.
+       * c-opts.c (c_common_post_options): Do not set flag_no_inline.
+       * common.opt (finline): Initialize to 1.
+       * tree-inline.c (inlinable_function_p): Check flag_no_inline.
+
+2008-07-29  Jan Hubicka  <jh@suse.cz>
 
        * predict.c (always_optimize_for_size_p): New function.
        (optimize_bb_for_size_p, optimize_bb_for_speed_p,
index a4859fd744ebd82ae815039e468542311d2e7420..611311c31e6ba72335a00dd219e85aef6366325b 100644 (file)
@@ -1,3 +1,7 @@
+2008-07-28  Jan Hubicka  <jh@suse.cz>
+
+       * misc.c (gnat_post_options): Do not set flag_no_inline.
+
 2008-07-28  Richard Guenther  <rguenther@suse.de>
 
        Merge from gimple-tuples-branch.
index 006da96b2b73656518fbc124a333b5b8ff908d76..02397d7f44532dd7e4dcd7a5e4e15fa9e48a2009 100644 (file)
@@ -340,9 +340,6 @@ gnat_post_options (const char **pfilename ATTRIBUTE_UNUSED)
   /* ??? The warning machinery is outsmarted by Ada.  */
   warn_unused_parameter = 0;
 
-  if (!flag_no_inline)
-    flag_no_inline = 1;
-
   /* Force eliminate_unused_debug_types to 0 unless an explicit positive
      -f has been passed.  This forces the default to 0 for Ada, which might
      differ from the common default.  */
index 57d00580d24384315c0a161db7a2152c5597d6be..2d951fe450c05bc110d04c95332985120102d3da 100644 (file)
@@ -636,7 +636,7 @@ c_cpp_builtins (cpp_reader *pfile)
 
   if (fast_math_flags_set_p ())
     cpp_define (pfile, "__FAST_MATH__");
-  if (flag_really_no_inline)
+  if (flag_no_inline)
     cpp_define (pfile, "__NO_INLINE__");
   if (flag_signaling_nans)
     cpp_define (pfile, "__SUPPORT_SNAN__");
index 258101c39cfaee7c7f03d30cae0876f4882002c3..8b31b8879e7cb129cf2f8bff26ff814bc13f108d 100644 (file)
@@ -1018,10 +1018,6 @@ c_common_post_options (const char **pfilename)
   C_COMMON_OVERRIDE_OPTIONS;
 #endif
 
-  /* Use tree inlining.  */
-  if (!flag_no_inline)
-    flag_no_inline = 1;
-
   /* By default we use C99 inline semantics in GNU99 or C99 mode.  C99
      inline semantics are not supported in GNU89 or C89 mode.  */
   if (flag_gnu89_inline == -1)
@@ -1075,13 +1071,6 @@ c_common_post_options (const char **pfilename)
   if (warn_overlength_strings == -1 || c_dialect_cxx ())
     warn_overlength_strings = 0;
 
-  /* Adjust various flags for C++ based on command-line settings.  */
-  if (c_dialect_cxx ())
-    {
-      if (!flag_no_inline)
-       flag_no_inline = 1;
-    } 
-
   /* In C, -Wconversion enables -Wsign-conversion (unless disabled
      through -Wno-sign-conversion). While in C++,
      -Wsign-conversion needs to be requested explicitly.  */
index 51181cbe6a2055272d96a60962114dd55ccac329..b5564b679d41de4611bff6b1c8597f8ce686e3ba 100644 (file)
@@ -1149,7 +1149,7 @@ bool
 cgraph_function_possibly_inlined_p (tree decl)
 {
   if (!cgraph_global_info_ready)
-    return !DECL_UNINLINABLE (decl) && !flag_really_no_inline;
+    return !DECL_UNINLINABLE (decl);
   return DECL_POSSIBLY_INLINED (decl);
 }
 
index 5d730a8cbf4df931b740d71a26d5ce2eb9efe0e6..08f95c228e679432de508f6189435ad4238a181b 100644 (file)
@@ -581,7 +581,7 @@ Perform indirect inlining
 ; only when actually used.  Used in conjunction with -g.  Also
 ; does the right thing with #pragma interface.
 finline
-Common Report Var(flag_no_inline,0) Init(2)
+Common Report Var(flag_no_inline,0) Init(0)
 Pay attention to the \"inline\" keyword
 
 finline-small-functions
index f4cc3aca69dd1dc87336560dca977ab087deaa06..e797d95c885c0b2544ecb93a1d49854f7a6cc52c 100644 (file)
@@ -169,11 +169,6 @@ extern int flag_pcc_struct_return;
 
 extern int flag_complex_method;
 
-/* Nonzero means that we don't want inlining by virtue of -fno-inline,
-   not just because the tree inliner turned us off.  */
-
-extern int flag_really_no_inline;
-
 /* Nonzero if we are only using compiler to check syntax errors.  */
 
 extern int rtl_dump_and_exit;
index b15bcfb7adead808a4cf9f8c6d978eac906af2d0..872678d6e3a6f75658e208e4ee29c0d18558093d 100644 (file)
@@ -1,3 +1,7 @@
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * options.c (gfc_post_options): Do not set flag_no_inline.
+
 2008-07-29  Daniel Kraft  <d@domob.eu>
 
        PR fortran/36403
index 1f05f35359ffd6245d944f99caa1cc2217c2364c..7b7916d46036de48643a0a2f20025813c9c5978f 100644 (file)
@@ -294,10 +294,6 @@ gfc_post_options (const char **pfilename)
        gfc_warning_now ("'-fd-lines-as-code' has no effect in free form");
     }
 
-  /* Use tree inlining.  */
-  if (!flag_no_inline)
-    flag_no_inline = 1;
-
   /* If -pedantic, warn about the use of GNU extensions.  */
   if (pedantic && (gfc_option.allow_std & GFC_STD_GNU) != 0)
     gfc_option.warn_std |= GFC_STD_GNU;
index 0ccaa6bb24f3c988a70e15edc122113d49d959e3..ec3a2719ac2f5adc316e5690a8ac9aff2ad4795c 100644 (file)
@@ -1159,16 +1159,14 @@ cgraph_decide_inlining (void)
                 overall_insns - old_insns);
     }
 
-  if (!flag_really_no_inline)
-    cgraph_decide_inlining_of_small_functions ();
+  cgraph_decide_inlining_of_small_functions ();
 
   /* After this point, any edge discovery performed by indirect inlining is no
      good so let's give up. */
   if (flag_indirect_inlining)
     free_all_ipa_structures_after_iinln ();
 
-  if (!flag_really_no_inline
-      && flag_inline_functions_called_once)
+  if (flag_inline_functions_called_once)
     {
       if (dump_file)
        fprintf (dump_file, "\nDeciding on functions called once:\n");
@@ -1407,9 +1405,7 @@ cgraph_decide_inlining_incrementally (struct cgraph_node *node,
     }
 
   /* Now do the automatic inlining.  */
-  if (!flag_really_no_inline
-      && mode != INLINE_ALL
-      && mode != INLINE_ALWAYS_INLINE)
+  if (mode != INLINE_ALL && mode != INLINE_ALWAYS_INLINE)
     for (e = node->callees; e; e = e->next_callee)
       {
        if (!e->callee->local.inlinable
@@ -1596,8 +1592,6 @@ compute_inline_parameters (struct cgraph_node *node)
   if (node->local.inlinable && !node->local.disregard_inline_limits)
     node->local.disregard_inline_limits
       = DECL_DISREGARD_INLINE_LIMITS (current_function_decl);
-  if (flag_really_no_inline && !node->local.disregard_inline_limits)
-    node->local.inlinable = 0;
   /* Inlining characteristics are maintained by the cgraph_mark_inline.  */
   node->global.insns = inline_summary (node)->self_insns;
   return 0;
index a2c3cca3e1238ac526d779e90298714ad8c9d074..022cff0d0c5bb7af6ac61e60814a0aec272e93bc 100644 (file)
@@ -1,3 +1,7 @@
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * lang.c (java_post_options): Remove handling of flag_no_inline.
+
 2008-07-28  Richard Guenther  <rguenther@suse.de>
 
        Merge from gimple-tuples-branch.
index dde1b76573c0130313b30c2c313ec1657a989667..27383762add0377776671e4a8fa641684f5a07dc 100644 (file)
@@ -532,10 +532,6 @@ java_post_options (const char **pfilename)
 {
   const char *filename = *pfilename;
 
-  /* Use tree inlining.  */
-  if (!flag_no_inline)
-    flag_no_inline = 1;
-
   /* An absolute requirement: if we're not using indirect dispatch, we
      must always verify everything.  */
   if (! flag_indirect_dispatch)
index 2a88ce2d1382686c143576772d474f196a1761f7..13a7de1709fa7b4228973da453493797b66cf839 100644 (file)
@@ -1072,24 +1072,14 @@ decode_options (unsigned int argc, const char **argv)
        flag_pic = flag_pie;
       if (flag_pic && !flag_pie)
        flag_shlib = 1;
-
-      if (flag_no_inline == 2)
-       flag_no_inline = 0;
-      else
-       flag_really_no_inline = flag_no_inline;
     }
 
-  /* Set flag_no_inline before the post_options () hook.  The C front
-     ends use it to determine tree inlining defaults.  FIXME: such
-     code should be lang-independent when all front ends use tree
-     inlining, in which case it, and this condition, should be moved
-     to the top of process_options() instead.  */
   if (optimize == 0)
     {
       /* Inlining does not work if not optimizing,
         so force it not to be done.  */
-      flag_no_inline = 1;
       warn_inline = 0;
+      flag_no_inline = 1;
 
       /* The c_decode_option function and decode_option hook set
         this to `2' if -Wall is used, so we can avoid giving out
@@ -1099,9 +1089,6 @@ decode_options (unsigned int argc, const char **argv)
                 "-Wuninitialized is not supported without -O");
     }
 
-  if (flag_really_no_inline == 2)
-    flag_really_no_inline = flag_no_inline;
-
   /* The optimization to partition hot and cold basic blocks into separate
      sections of the .o and executable files does not work (currently)
      with exception handling.  This is because there is no support for
index ed53441e077c2e6c3fcaac4390fe8cfd16260bc6..cba3ac04df1ba8c5d8ca07cd578366537ec1c20f 100644 (file)
@@ -1,3 +1,7 @@
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * gcc.dg/20040206-1.c: Expect frontend warning now.
+
 2008-07-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        PR 34985
index b4b509bfc7e6ebf3eac17c5905bccfb64f052244..c9c776f0bd01345e306d14eb44cd4d2ba346293f 100644 (file)
@@ -7,5 +7,5 @@
     The warning about "no return statement in function
     returning non-void" is PR 13000. */
 
-static int foo (int a __attribute__((unused)) ) { } /* { dg-warning "control reaches end of non-void" } */
+static int foo (int a __attribute__((unused)) ) { } /* { dg-warning "no return statement" } */
 int main (void) { return foo (0); }
index d021eeea32cf801e2c117ba55a3b01d1d217ba9e..d717ebace2a8807bcc77d92ab520ac2721876da3 100644 (file)
@@ -245,11 +245,6 @@ int flag_pcc_struct_return = DEFAULT_PCC_STRUCT_RETURN;
 
 int flag_complex_method = 1;
 
-/* Nonzero means that we don't want inlining by virtue of -fno-inline,
-   not just because the tree inliner turned us off.  */
-
-int flag_really_no_inline = 2;
-
 /* Nonzero means we should be saving declaration info into a .X file.  */
 
 int flag_gen_aux_info = 0;
index 511270bffb366ca6e25a39d35db38ca49d6d399f..a10586128e8a97417277ef6c9eb85bc3f4142642 100644 (file)
@@ -2554,7 +2554,7 @@ inlinable_function_p (tree fn)
 
   always_inline = lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn));
 
-  if (flag_really_no_inline
+  if (flag_no_inline
       && always_inline == NULL)
     {
       if (do_warning)