public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller
@ 2012-09-29 13:02 Joost.VandeVondele at mat dot ethz.ch
  2012-10-01 10:15 ` [Bug rtl-optimization/54751] " rguenth at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Joost.VandeVondele at mat dot ethz.ch @ 2012-09-29 13:02 UTC (permalink / raw)
  To: gcc-bugs


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


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug rtl-optimization/54751] [4.8 Regression] slow compile time with rtl loop unroller
  2012-09-29 13:02 [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller Joost.VandeVondele at mat dot ethz.ch
@ 2012-10-01 10:15 ` rguenth at gcc dot gnu.org
  2012-10-01 20:40 ` steven at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-10-01 10:15 UTC (permalink / raw)
  To: gcc-bugs


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |compile-time-hog
   Target Milestone|---                         |4.8.0

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-10-01 10:15:13 UTC ---
I suspect we vectorize much more in 4.8?  Otherwise GCC 4.8  should have
improved this bottleneck (by generating/unrolling less loops, not by
making unrolling faster).


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug rtl-optimization/54751] [4.8 Regression] slow compile time with rtl loop unroller
  2012-09-29 13:02 [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller Joost.VandeVondele at mat dot ethz.ch
  2012-10-01 10:15 ` [Bug rtl-optimization/54751] " rguenth at gcc dot gnu.org
@ 2012-10-01 20:40 ` steven at gcc dot gnu.org
  2012-10-02  9:55 ` rguenth at gcc dot gnu.org
  2012-10-02 10:39 ` Joost.VandeVondele at mat dot ethz.ch
  3 siblings, 0 replies; 5+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-01 20:40 UTC (permalink / raw)
  To: gcc-bugs


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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-10-01
     Ever Confirmed|0                           |1

--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-01 20:39:41 UTC ---
df_bb_verify?! That means that somehow DF checking is running. Why?


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug rtl-optimization/54751] [4.8 Regression] slow compile time with rtl loop unroller
  2012-09-29 13:02 [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller Joost.VandeVondele at mat dot ethz.ch
  2012-10-01 10:15 ` [Bug rtl-optimization/54751] " rguenth at gcc dot gnu.org
  2012-10-01 20:40 ` steven at gcc dot gnu.org
@ 2012-10-02  9:55 ` rguenth at gcc dot gnu.org
  2012-10-02 10:39 ` Joost.VandeVondele at mat dot ethz.ch
  3 siblings, 0 replies; 5+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-10-02  9:55 UTC (permalink / raw)
  To: gcc-bugs


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-10-02 09:55:13 UTC ---
Err, yes - please check with --enable-checking=release!


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug rtl-optimization/54751] [4.8 Regression] slow compile time with rtl loop unroller
  2012-09-29 13:02 [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller Joost.VandeVondele at mat dot ethz.ch
                   ` (2 preceding siblings ...)
  2012-10-02  9:55 ` rguenth at gcc dot gnu.org
@ 2012-10-02 10:39 ` Joost.VandeVondele at mat dot ethz.ch
  3 siblings, 0 replies; 5+ messages in thread
From: Joost.VandeVondele at mat dot ethz.ch @ 2012-10-02 10:39 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #4 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> 2012-10-02 10:39:41 UTC ---
More reasonable with -enable-checking=release

4.8(checking=yes):    ~10min
4.8(checking=release):  1min28s.
4.7                  :  0min58s      

maybe some of the checking is a bit excessive in this case.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-10-02 10:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-29 13:02 [Bug rtl-optimization/54751] New: [4.8 Regression] slow compile time with rtl loop unroller Joost.VandeVondele at mat dot ethz.ch
2012-10-01 10:15 ` [Bug rtl-optimization/54751] " rguenth at gcc dot gnu.org
2012-10-01 20:40 ` steven at gcc dot gnu.org
2012-10-02  9:55 ` rguenth at gcc dot gnu.org
2012-10-02 10:39 ` Joost.VandeVondele at mat dot ethz.ch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).