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: [PATCH] Cleanup TODO handling for CFG clenaup & SSA update


On 3/8/19 7:23 AM, Richard Biener wrote:
> 
> There's an old comment
> 
>       /* When cleanup_tree_cfg merges consecutive blocks, it may
>          perform some simplistic propagation when removing single
>          valued PHI nodes.  This propagation may, in turn, cause the
>          SSA form to become out-of-date (see PR 22037).  So, even
>          if the parent pass had not scheduled an SSA update, we may
>          still need to do one.  */
>       if (!(flags & TODO_update_ssa_any) && need_ssa_update_p (cfun))
>         flags |= TODO_update_ssa;
> 
> which is from times we've had multiple virtual operands.  After
> those went away we could still run into this for example when
> propagating a non-const function address into an indirect call
> through a const function type.  This has been fixed as well
> (we retain the const-ness of the call).  Thus the above is
> no longer necessary and we can simplify the code.
> 
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
> 
> I'm not really nervous about this change but if you think it
> should wait for GCC 10 speak up.
> 
> Richard.
> 
> 2019-03-08  Richard Biener  <rguenther@suse.de>
> 
> 	* passes.c (execute_function_todo): Remove dead code.
What's driving the desire to change this for gcc-9?  I think it's a fine
cleanup for gcc-10, but it's not clear to me we want to push it into gcc-9.

jeff


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