This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Current verify_cgraph checking failure


Hi Jan,

You replaced pass_apply_inline with pass_ipa_inline.  pass_ipa_inline is
never called at -O0 and always_inline attribute is broken at -O0.

H.J.
On Thu, May 1, 2008 at 12:17 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> Hi Jan,
>
>  Will it fix
>
>  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36100
>
>  It is caused by the same change.
>
>  Thanks.
>
>
>  H.J.
>
>
> On Thu, May 1, 2008 at 12:14 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
>  > Hi,
>  >  my previous commit of passmanager patch broke bootstrap on many (all?)
>  >  targets with checking enabled.  I am testing the following fix and will
>  >  commit it if it suceeds.
>  >
>  >  I apologize for problems
>  >
>  >  Index: passes.c
>  >  ===================================================================
>  >  --- passes.c    (revision 134864)
>  >  +++ passes.c    (working copy)
>  >  @@ -999,11 +999,15 @@ execute_todo (unsigned int flags)
>  >       to analyze side effects.  The full removal is done just at the end
>  >       of IPA pass queue.  */
>  >    if (flags & TODO_remove_functions)
>  >  -    cgraph_remove_unreachable_nodes (true, dump_file);
>  >  +    {
>  >  +      gcc_assert (!cfun);
>  >  +      cgraph_remove_unreachable_nodes (true, dump_file);
>  >  +    }
>  >
>  >    if ((flags & TODO_dump_cgraph)
>  >        && dump_file && !current_function_decl)
>  >      {
>  >  +      gcc_assert (!cfun);
>  >        dump_cgraph (dump_file);
>  >        /* Flush the file.  If verification fails, we won't be able to
>  >          close the file before aborting.  */
>  >  @@ -1162,7 +1166,7 @@ execute_one_ipa_transform_pass (struct c
>  >    pass_init_dump_file (pass);
>  >
>  >    /* Run pre-pass verification.  */
>  >  -  execute_todo (pass->todo_flags_start);
>  >  +  execute_todo (ipa_pass->function_transform_todo_flags_start);
>  >
>  >    /* If a timevar is present, start it.  */
>  >    if (pass->tv_id)
>  >
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]