http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54751



             Bug #: 54751

           Summary: [4.8 Regression] slow compile time with rtl loop

                    unroller

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: rtl-optimization

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: joost.vandevond...@mat.ethz.ch





Created attachment 28299

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28299

gzipped testcase.



compiling the attached testcase need ~10x more time with current 4.8 trunk than

with 4.7. I believe this is a recent regression.



A typical stack trace looks like

#0  0x00000000006a7a02 in df_ref_equal_p(df_ref_d*, df_ref_d*) ()

#1  0x00000000006a7af5 in df_refs_verify(vec_t<df_ref_d*>*, df_ref_d**, bool)

()

#2  0x00000000006abf3f in df_insn_refs_verify(df_collection_rec*,

basic_block_def*, rtx_def*, bool) ()

#3  0x00000000006aea2a in df_bb_verify(basic_block_def*) ()

#4  0x00000000006aed40 in df_scan_verify() ()

#5  0x000000000069e155 in df_analyze() ()

#6  0x000000000083b1dd in iv_analysis_loop_init(loop*) ()

#7  0x000000000083e685 in get_simple_loop_desc(loop*) ()

#8  0x0000000000841265 in unroll_and_peel_loops(int) ()

#9  0x0000000000835cd7 in rtl_unroll_and_peel_loops() ()

#10 0x0000000000881107 in execute_one_pass(opt_pass*) ()



compile flags:



gfortran -c -cpp -O2 -ftree-vectorize -funroll-loops -ffast-math test.f90

(needs about 10min (gcc 4.8) or 1min (gcc 4.7) on my machine, removing

-funroll-loops reduces that to 1m20s (4.8) or 28s (4.7))

Reply via email to