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