[patch] Fix PR43464: update loop closed SSA form once copy prop is done

Sebastian Pop sebpop@gmail.com
Sun Mar 21 16:45:00 GMT 2010


On Sun, Mar 21, 2010 at 02:21, Sebastian Pop <sebpop@gmail.com> wrote:
> Hi,
>
> When copy propagation is called from the loop optimizer, copy prop
> does not update the loop closed SSA form, and we end up on a
> representation that crashes on verify_loop_closed_ssa ().
>
> This bug appeared on the Graphite branch during the automatic test of
> perlbench from CPU2006 with -O3 and with a patch scheduling an extra
> pass of copy propagation after the Graphite pass.
>
> Note that the Graphite pass does not execute for this testcase, as
> there are more than 100 basic blocks in its CFG, only the cleanup
> passes that are scheduled after the Graphite pass are run: so this bug
> is not related to Graphite, and could also occur in the current pass
> ordering after we build the loop closed SSA form:
>
>          NEXT_PASS (pass_tree_loop_init);
>          NEXT_PASS (pass_copy_prop);
>          NEXT_PASS (pass_dce_loop);
>          NEXT_PASS (pass_lim);
>
> The proposed fix is to recompute the loop closed SSA form after copy
> propagation.  I am currently bootstrapping and testing the attached
> patch on amd64-linux.  Okay for trunk if this passes?

Passed bootstrap and test on amd64-linux.

Sebastian



More information about the Gcc-patches mailing list