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 <rguent...@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