[PATCH PR95638]Record/restore postorder, rather than update it

Richard Biener richard.guenther@gmail.com
Mon Jun 15 11:52:21 GMT 2020


On Mon, Jun 15, 2020 at 12:04 PM bin.cheng via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi,
> This simple patch fixes wrong code issue as reported.  I tried to update postorder information after
> the second call to graphds_scc with alias dependence edges skipped.  This wasn't working, and I
> realize it's hard to do.  This patch simply records postorder information before the call and restores
> after.  It also fixes memory leak.
>
> Bootstrap and test on x86_64. Comments?

I don't see any obvious more clever thing to do thus OK.

Thanks,
Richard.

> Thanks,
> bin
>
>     2020-06-15  Bin Cheng  <bin.cheng@linux.alibaba.com>
>
>     gcc/
>             PR tree-optimization/95638
>             * tree-loop-distribution.c (pg_edge_callback_data): New field.
>             (loop_distribution::break_alias_scc_partitions): Record and restore
>             postorder information.  Fix memory leak.
>
>     gcc/testsuite/
>             PR tree-optimization/95638
>             * g++.dg/tree-ssa/pr95638.C: New test.


More information about the Gcc-patches mailing list