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))