[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-27 Thread rguenth at gcc dot gnu dot org


--- Comment #116 from rguenth at gcc dot gnu dot org  2010-03-27 11:14 
---
Given that parsing takes most of the time the compile-time indeed looks
reasonable.  That DF uses 20GB of ram at -O3 is still unfortunate, but the
-O1 numbers look indeed good.

I wonder if the parsing numbers are accurate as the initial report has
like 9s parsing while the current ones are 200s.  Can you explain that
difference?  (like, were you testing different source?)

As is the testcase(s) are an interesting source of information - maybe we
should gather those up on a page in the wiki just in case we end up closing
this bug at some point (I suggest not to at the moment, the parsing times
look odd and 20GB memory use doesn't sound reasonable).  Did you ever
test other compilers and see how they perform with respect to memory usage
and compile time?


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-27 Thread lucier at math dot purdue dot edu


--- Comment #117 from lucier at math dot purdue dot edu  2010-03-27 16:38 
---
Subject: Re:  [4.3/4.4/4.5 Regression] Inordinate compile times on large
routines


On Mar 27, 2010, at 7:14 AM, rguenth at gcc dot gnu dot org wrote:

 I wonder if the parsing numbers are accurate as the initial report has
 like 9s parsing while the current ones are 200s.  Can you explain  
 that
 difference?  (like, were you testing different source?)

Yes, different source (compiler.i instead of all.i), different  
(faster) machine.  Perhaps gathering the detailed memory stats affect  
the parser time.

Here are times for the original source file all.i using the same  
machine and compiler as in the immediately previous report for  
compiler.i:

  df liveinitialized regs:  45.00 ( 8%) usr   0.00 ( 0%) sys  45.04  
( 8%) wall   0 kB ( 0%) ggc
  parser:  19.60 ( 3%) usr   1.22 ( 7%) sys  21.25  
( 4%) wall   70217 kB ( 2%) ggc
  scheduling: 301.86 (52%) usr   0.00 ( 0%) sys 301.87  
(51%) wall8739 kB ( 0%) ggc
  TOTAL : 579.8817.55
597.653393985 kB

Glancing at top, the maximum reported memory usage was  13GB.  I'll  
attach the detailed results for all.i next

 As is the testcase(s) are an interesting source of information -  
 maybe we
 should gather those up on a page in the wiki just in case we end up  
 closing
 this bug at some point (I suggest not to at the moment, the parsing  
 times
 look odd and 20GB memory use doesn't sound reasonable).  Did you ever
 test other compilers and see how they perform with respect to memory  
 usage
 and compile time?

No, none that were not a gcc derivative.

Brad


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-27 Thread lucier at math dot purdue dot edu


--- Comment #118 from lucier at math dot purdue dot edu  2010-03-27 16:44 
---
Created an attachment (id=20224)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20224action=view)
time/memory report compiling all.i with -O3

These are the detailed time and memory statistics reported when compiling all.i
with -O3 -fschedule-insns on x86-64.


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-26 Thread howarth at nitro dot med dot uc dot edu


--- Comment #112 from howarth at nitro dot med dot uc dot edu  2010-03-26 
17:44 ---
What is the status of this bug?


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-26 Thread lucier at math dot purdue dot edu


--- Comment #113 from lucier at math dot purdue dot edu  2010-03-27 04:27 
---
Created an attachment (id=20220)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20220action=view)
time/mem report compiling compiler.i

This is the time and detailed memory report for 20100302 compiling compiler.i
above with main optimization options -O1 -fschedule-insns2 (precise command
line and configuration options are given at the top of the file).

With these optimization levels cpu time and memory don't look too bad to me. 
The main routines are

 parser: 320.93 (59%) usr   1.40 (27%) sys 322.62 (59%) wall 
103143 kB (15%) ggc
 tree CFG cleanup  :  73.43 (14%) usr   0.01 ( 0%) sys  73.46 (13%) wall   
1388 kB ( 0%) ggc

Nothing else is above 3%.

I'm building today's gcc on an X86-64 RHEL5 machine with more memory to test
with -O3 -fschedule-insns, as this set of options now gives about 20% speedup
on some of my codes of this type.


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-26 Thread lucier at math dot purdue dot edu


--- Comment #114 from lucier at math dot purdue dot edu  2010-03-27 04:59 
---
Created an attachment (id=20221)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20221action=view)
time/mem report compiling compiler.i

This is the time and detailed memory report for compiling compiler.i with
today's gcc and optimization level -O3 -fschedule-insns.  Again, the detailed
configuration information and command line are contained at the beginning of
the file.

Except for taking  20GB of RAM, this doesn't look too bad, either.  The passes
taking the most time are:

 parser: 222.18 (21%) usr   2.95 (11%) sys 225.37 (21%) wall 
103148 kB (11%) ggc
 tree CFG cleanup  :  63.67 ( 6%) usr   0.00 ( 0%) sys  63.60 ( 6%) wall   
2467 kB ( 0%) ggc
 scheduling: 394.04 (37%) usr   0.00 ( 0%) sys 394.04 (36%) wall   
5824 kB ( 1%) ggc
 TOTAL :1056.6926.47  1083.41
916872 kB


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2010-03-26 Thread lucier at math dot purdue dot edu


--- Comment #115 from lucier at math dot purdue dot edu  2010-03-27 05:20 
---
Created an attachment (id=20222)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20222action=view)
time/mem report compiling compiler.i with -O1

Here is the time and memory report with -O1 -fschedule-insns2 on the same
machine as the -O3 -fschedule-insns report.

The biggest times are:

 parser: 224.89 (54%) usr   2.61 (24%) sys 226.97 (53%) wall 
103148 kB (15%) ggc
 tree CFG cleanup  :  60.61 (15%) usr   0.00 ( 0%) sys  60.58 (14%) wall   
1388 kB ( 0%) ggc
 reload:  19.17 ( 5%) usr   0.00 ( 0%) sys  19.17 ( 5%) wall   
4694 kB ( 1%) ggc
 TOTAL : 413.2910.95   424.28
709657 kB


-- 

lucier at math dot purdue dot edu changed:

   What|Removed |Added

  Attachment #20220|0   |1
is obsolete||


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2009-10-02 Thread bergner at gcc dot gnu dot org


--- Comment #111 from bergner at gcc dot gnu dot org  2009-10-03 01:39 
---
Subject: Bug 26854

Author: bergner
Date: Sat Oct  3 01:39:14 2009
New Revision: 152430

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152430
Log:
Backport from mainline.

2009-08-30  Alan Modra  amo...@bigpond.net.au

PR target/41081
* fwprop.c (get_reg_use_in): Delete.
(free_load_extend): New function.
(forward_propagate_subreg): Use it.

2009-08-23  Alan Modra  amo...@bigpond.net.au

PR target/41081
* fwprop.c (try_fwprop_subst): Allow multiple sets.
(get_reg_use_in): New function.
(forward_propagate_subreg): Propagate through subreg of zero_extend
or sign_extend.

2009-05-08  Paolo Bonzini  bonz...@gnu.org

PR rtl-optimization/33928
PR 26854
* fwprop.c (use_def_ref, get_def_for_use, bitmap_only_bit_bitween,
process_uses, build_single_def_use_links): New.
(update_df): Update use_def_ref.
(forward_propagate_into): Use get_def_for_use instead of use-def
chains.
(fwprop_init): Call build_single_def_use_links and let it initialize
dataflow.
(fwprop_done): Free use_def_ref.
(fwprop_addr): Eliminate duplicate call to df_set_flags.
* df-problems.c (df_rd_simulate_artificial_defs_at_top,
df_rd_simulate_one_insn): New.
(df_rd_bb_local_compute_process_def): Update head comment.
(df_chain_create_bb): Use the new RD simulation functions.
* df.h (df_rd_simulate_artificial_defs_at_top,
df_rd_simulate_one_insn): New.
* opts.c (decode_options): Enable fwprop at -O1.
* doc/invoke.texi (-fforward-propagate): Document this.

Modified:
branches/ibm/gcc-4_3-branch/gcc/ChangeLog.ibm
branches/ibm/gcc-4_3-branch/gcc/REVISION
branches/ibm/gcc-4_3-branch/gcc/df-problems.c
branches/ibm/gcc-4_3-branch/gcc/df.h
branches/ibm/gcc-4_3-branch/gcc/doc/invoke.texi
branches/ibm/gcc-4_3-branch/gcc/fwprop.c
branches/ibm/gcc-4_3-branch/gcc/opts.c


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2009-08-04 Thread rguenth at gcc dot gnu dot org


--- Comment #110 from rguenth at gcc dot gnu dot org  2009-08-04 12:27 
---
GCC 4.3.4 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|4.3.4   |4.3.5


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2009-06-27 Thread bonzini at gcc dot gnu dot org


--- Comment #109 from bonzini at gnu dot org  2009-06-27 14:48 ---
Subject: Bug 26854

Author: bonzini
Date: Sat Jun 27 14:48:34 2009
New Revision: 149010

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=149010
Log:
2009-06-07  Paolo Bonzini  bonz...@gnu.org

PR rtl-optimization/26854
* timevar.def: Remove TV_DF_RU, add TV_DF_MD.
* df-problems.c (df_rd_add_problem): Fix comment.
(df_md_set_bb_info, df_md_free_bb_info, df_md_alloc,
df_md_simulate_artificial_defs_at_top,
df_md_simulate_one_insn, df_md_bb_local_compute_process_def,
df_md_bb_local_compute, df_md_local_compute, df_md_reset,
df_md_transfer_function, df_md_init, df_md_confluence_0,
df_md_confluence_n, df_md_free, df_md_top_dump, df_md_bottom_dump,
problem_MD, df_md_add_problem): New.
* df.h (DF_MD, DF_MD_BB_INFO, struct df_md_bb_info, df_md,
df_md_get_bb_info): New.
DF_LAST_PROBLEM_PLUS1): Adjust.

* Makefile.in (fwprop.o): Include domwalk.h.
* fwprop.c: Include domwalk.h.
(reg_defs, reg_defs_stack): New.
(bitmap_only_bit_between): Remove.
(process_defs): New.
(process_uses): Use reg_defs and local_md instead of
bitmap_only_bit_between and local_rd.
(single_def_use_enter_block): New, from build_single_def_use_links.
(single_def_use_leave_block): New.
(build_single_def_use_links): Remove code moved to
single_def_use_enter_block, invoke domwalk.
(use_killed_between): Adjust comment.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/df-problems.c
trunk/gcc/df.h
trunk/gcc/fwprop.c
trunk/gcc/timevar.def


-- 


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



[Bug tree-optimization/26854] [4.3/4.4/4.5 Regression] Inordinate compile times on large routines

2009-05-08 Thread bonzini at gcc dot gnu dot org


--- Comment #107 from bonzini at gnu dot org  2009-05-08 12:22 ---
Subject: Bug 26854

Author: bonzini
Date: Fri May  8 12:22:30 2009
New Revision: 147282

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=147282
Log:
2009-05-08  Paolo Bonzini  bonz...@gnu.org

PR rtl-optimization/33928
PR 26854
* fwprop.c (use_def_ref, get_def_for_use, bitmap_only_bit_bitween,
process_uses, build_single_def_use_links): New.
(update_df): Update use_def_ref.
(forward_propagate_into): Use get_def_for_use instead of use-def
chains.
(fwprop_init): Call build_single_def_use_links and let it initialize
dataflow.
(fwprop_done): Free use_def_ref.
(fwprop_addr): Eliminate duplicate call to df_set_flags.
* df-problems.c (df_rd_simulate_artificial_defs_at_top, 
df_rd_simulate_one_insn): New.
(df_rd_bb_local_compute_process_def): Update head comment.
(df_chain_create_bb): Use the new RD simulation functions.
* df.h (df_rd_simulate_artificial_defs_at_top, 
df_rd_simulate_one_insn): New.
* opts.c (decode_options): Enable fwprop at -O1.
* doc/invoke.texi (-fforward-propagate): Document this.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/df-problems.c
trunk/gcc/df.h
trunk/gcc/doc/invoke.texi
trunk/gcc/fwprop.c
trunk/gcc/opts.c


-- 


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