On March 8, 2019 3:52:36 PM GMT+01:00, Jeff Law <l...@redhat.com> wrote: >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.
Just that I came along this with the previous related CFG cleanup fix and got the time to test it. Queued for GCC 10 instead. Richard. >jeff