This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller
- From: "Joost.VandeVondele at mat dot ethz.ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 29 Sep 2012 13:02:20 +0000
- Subject: [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller
- Auto-submitted: auto-generated
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))