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?

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.

Attachment: pr95638.txt
Description: Binary data

Reply via email to