public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "steven at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/19097] Lots of else ifs take forever to compile
Date: Tue, 21 Dec 2004 08:38:00 -0000	[thread overview]
Message-ID: <20041221083818.11814.qmail@sourceware.org> (raw)
In-Reply-To: <20041221015654.19097.phython@gcc.gnu.org>


------- Additional Comments From steven at gcc dot gnu dot org  2004-12-21 08:38 -------
This is what I get (with checking enabled) for an C5 with two C4s with 
"GNU C version 4.0.0 20041220 (experimental) (x86_64-unknown-linux-gnu)": 
 
$ ./cc1 t.c -O2 
 a 
 {GC 14385k -> 11467k} 
Analyzing compilation unit 
Performing intraprocedural optimizations 
Assembling functions: 
 a 
 {GC 68010k -> 54166k} {GC 74855k -> 56923k} {GC 91181k -> 71784k} {GC 99265k 
-> 71726k} 
Execution times (seconds) 
 garbage collection    :   0.77 ( 0%) usr   0.01 ( 0%) sys   0.77 ( 0%) wall 
 callgraph construction:   3.03 ( 2%) usr   0.06 ( 2%) sys   3.09 ( 2%) wall 
 cfg construction      :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall 
 cfg cleanup           :   1.55 ( 1%) usr   0.00 ( 0%) sys   1.52 ( 1%) wall 
 CFG verifier          :   3.63 ( 2%) usr   0.04 ( 2%) sys   3.65 ( 2%) wall 
 trivially dead code   :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.23 ( 0%) wall 
 life analysis         :   0.84 ( 0%) usr   0.00 ( 0%) sys   0.84 ( 0%) wall 
 life info update      :   0.29 ( 0%) usr   0.00 ( 0%) sys   0.29 ( 0%) wall 
 alias analysis        :   0.22 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall 
 register scan         :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall 
 rebuild jump labels   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall 
 preprocessing         :   0.17 ( 0%) usr   0.07 ( 3%) sys   0.34 ( 0%) wall 
 lexical analysis      :   0.09 ( 0%) usr   0.19 ( 8%) sys   0.26 ( 0%) wall 
 parser                :   0.35 ( 0%) usr   0.10 ( 4%) sys   0.44 ( 0%) wall 
 tree gimplify         :   0.10 ( 0%) usr   0.01 ( 0%) sys   0.11 ( 0%) wall 
 tree eh               :   0.05 ( 0%) usr   0.01 ( 0%) sys   0.05 ( 0%) wall 
 tree CFG construction :   0.17 ( 0%) usr   0.03 ( 1%) sys   0.20 ( 0%) wall 
 tree CFG cleanup      :   0.85 ( 0%) usr   0.00 ( 0%) sys   0.89 ( 1%) wall 
 tree find referenced vars:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) 
wall 
 tree PTA              :   0.19 ( 0%) usr   0.01 ( 0%) sys   0.19 ( 0%) wall 
 tree alias analysis   :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall 
 tree PHI insertion    :   0.08 ( 0%) usr   0.01 ( 0%) sys   0.08 ( 0%) wall 
 tree SSA rewrite      :   0.35 ( 0%) usr   0.00 ( 0%) sys   0.37 ( 0%) wall 
 tree SSA other        :   0.58 ( 0%) usr   0.17 ( 7%) sys   0.65 ( 0%) wall 
 tree operand scan     :   0.19 ( 0%) usr   0.10 ( 4%) sys   0.38 ( 0%) wall 
 dominator optimization:   2.12 ( 1%) usr   0.03 ( 1%) sys   2.16 ( 1%) wall 
 tree CCP              :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall 
 tree split crit edges :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
 tree PRE              :   0.20 ( 0%) usr   0.01 ( 0%) sys   0.21 ( 0%) wall 
 tree remove redundant PHIs:   0.23 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) 
wall 
 tree linearize phis   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
 tree forward propagate:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall 
 tree conservative DCE :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.21 ( 0%) wall 
 tree aggressive DCE   :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 0%) wall 
 tree DSE              :   0.32 ( 0%) usr   0.00 ( 0%) sys   0.32 ( 0%) wall 
 tree loop init        :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall 
 tree copy headers     :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall 
 tree SSA to normal    :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall 
 tree rename SSA copies:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall 
 tree SSA verifier     :   1.99 ( 1%) usr   0.00 ( 0%) sys   1.95 ( 1%) wall 
 tree STMT verifier    :   0.43 ( 0%) usr   0.02 ( 1%) sys   0.44 ( 0%) wall 
 callgraph verifier    :   8.76 ( 5%) usr   0.05 ( 2%) sys   8.81 ( 5%) wall 
 dominance frontiers   :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall 
 control dependences   :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall 
 expand                :   1.09 ( 1%) usr   0.03 ( 1%) sys   1.20 ( 1%) wall 
 jump                  :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall 
 CSE                   :   9.12 ( 5%) usr   0.00 ( 0%) sys   9.12 ( 5%) wall 
 loop analysis         :   0.30 ( 0%) usr   0.00 ( 0%) sys   0.28 ( 0%) wall 
 global CSE            :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
 CPROP 1               :  55.78 (33%) usr   0.57 (23%) sys  56.38 (32%) wall 
 PRE                   :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall 
 CPROP 2               :  28.46 (17%) usr   0.41 (17%) sys  28.91 (17%) wall 
 bypass jumps          :  28.96 (17%) usr   0.40 (16%) sys  29.39 (17%) wall 
 CSE 2                 :   8.25 ( 5%) usr   0.00 ( 0%) sys   8.25 ( 5%) wall 
 branch prediction     :   0.95 ( 1%) usr   0.01 ( 0%) sys   0.95 ( 1%) wall 
 flow analysis         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall 
 combiner              :   0.36 ( 0%) usr   0.01 ( 0%) sys   0.38 ( 0%) wall 
 if-conversion         :   0.45 ( 0%) usr   0.00 ( 0%) sys   0.48 ( 0%) wall 
 regmove               :   0.14 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall 
 local alloc           :   0.26 ( 0%) usr   0.00 ( 0%) sys   0.26 ( 0%) wall 
 global alloc          :   0.55 ( 0%) usr   0.02 ( 1%) sys   0.58 ( 0%) wall 
 reload CSE regs       :   3.45 ( 2%) usr   0.00 ( 0%) sys   3.46 ( 2%) wall 
 flow 2                :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall 
 if-conversion 2       :   0.30 ( 0%) usr   0.00 ( 0%) sys   0.30 ( 0%) wall 
 peephole 2            :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.20 ( 0%) wall 
 rename registers      :   0.93 ( 1%) usr   0.02 ( 1%) sys   0.98 ( 1%) wall 
 scheduling 2          :   1.07 ( 1%) usr   0.02 ( 1%) sys   1.13 ( 1%) wall 
 machine dep reorg     :   0.14 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall 
 reorder blocks        :   0.31 ( 0%) usr   0.00 ( 0%) sys   0.31 ( 0%) wall 
 shorten branches      :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall 
 final                 :   0.18 ( 0%) usr   0.01 ( 0%) sys   0.19 ( 0%) wall 
 rest of compilation   :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall 
 TOTAL                 : 171.18             2.43           174.57 
 
 
My bet: known non-linear behavior in compute_transp.  I'm curous why gcse's 
"is_too_expensive ()" thinks GCSE is _not_ too expensive for this test case. 
 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-12-21 08:38:15
               date|                            |


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


  parent reply	other threads:[~2004-12-21  8:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-21  1:57 [Bug rtl-optimization/19097] New: " phython at gcc dot gnu dot org
2004-12-21  2:39 ` [Bug rtl-optimization/19097] " pinskia at gcc dot gnu dot org
2004-12-21  8:38 ` steven at gcc dot gnu dot org [this message]
2004-12-21  8:47 ` steven at gcc dot gnu dot org
2004-12-23  1:43 ` steven at gcc dot gnu dot org
2004-12-24  1:00 ` [Bug rtl-optimization/19097] [3.4/4.0 regression] Quadratic behavior with many sets for the same register in gcse CPROP steven at gcc dot gnu dot org
2004-12-28 18:48 ` bonzini at gcc dot gnu dot org
2005-03-05 19:53 ` [Bug rtl-optimization/19097] [3.4/4.0/4.1 " pinskia at gcc dot gnu dot org
2005-03-05 23:37 ` steven at gcc dot gnu dot org
2005-06-08  3:32 ` phython at gcc dot gnu dot org
2005-06-08  9:38 ` steven at gcc dot gnu dot org
2005-06-08 12:44 ` phython at gcc dot gnu dot org
2005-08-23  7:29 ` phython at gcc dot gnu dot org
2005-08-25  5:44 ` phython at gcc dot gnu dot org
2005-08-25  6:40 ` phython at gcc dot gnu dot org
2005-08-25  7:06 ` phython at gcc dot gnu dot org
2005-09-19  0:14 ` pinskia at gcc dot gnu dot org
2005-09-19  0:15 ` steven at gcc dot gnu dot org
2005-09-30 14:43 ` amacleod at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041221083818.11814.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).