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
next prev 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: linkBe 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).