This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller


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: unassigned@gcc.gnu.org
        ReportedBy: Joost.VandeVondele@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))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]