This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Nov 2005 00:18:16 -0000
- Subject: [Bug rtl-optimization/19097] [3.4/4.0/4.1 regression] Quadratic behavior with many sets for the same register in gcse CPROP
- References: <bug-19097-7737@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #27 from steven at gcc dot gnu dot org 2005-11-08 00:18 -------
On AMD64, revision 106596M (the M is for a local loop-invariant.c
patch, nothing special), compiler built with --enable-checking=release:
at -O1:
tree operand scan : 1.50 (10%) usr 0.09 (17%) sys 1.62 (10%) wall
dominance frontiers : 9.09 (60%) usr 0.00 ( 0%) sys 9.20 (58%) wall
TOTAL : 15.05 0.53 15.80
at -O2:
tree VRP : 12.20 (23%) usr 0.03 ( 3%) sys 12.44 (23%) wall
dominance frontiers : 9.17 (18%) usr 0.01 ( 1%) sys 9.30 (17%) wall
CPROP 1 : 8.17 (16%) usr 0.16 (16%) sys 8.44 (16%) wall
CPROP 2 : 5.54 (11%) usr 0.11 (11%) sys 5.72 (11%) wall
bypass jumps : 5.57 (11%) usr 0.11 (11%) sys 5.75 (11%) wall
TOTAL : 52.31 1.00 53.98
For GCC 3.3.5 at -O1 the total time is 26s, and at -O2 it is 31s.
For AMD64 -m32 -march=i686:
at -O1:
tree operand scan : 1.48 (10%) usr 0.09 (18%) sys 1.59 (10%) wall
dominance frontiers : 9.03 (61%) usr 0.00 ( 0%) sys 9.14 (59%) wall
TOTAL : 14.70 0.49 15.39
at -O2:
tree VRP : 11.84 (24%) usr 0.04 ( 4%) sys 12.02 (24%) wall
dominance frontiers : 9.11 (19%) usr 0.02 ( 2%) sys 9.25 (18%) wall
CPROP 1 : 7.54 (15%) usr 0.10 (11%) sys 7.74 (15%) wall
CPROP 2 : 4.99 (10%) usr 0.10 (11%) sys 5.15 (10%) wall
bypass jumps : 4.96 (10%) usr 0.10 (11%) sys 5.12 (10%) wall
TOTAL : 48.97 0.93 50.54
For GCC 3.3.5 at -O1 the total time is 25s, and at -O2 it is 28s.
Compared to my measurements from comment #17, this is good progress. James, do
you think we can close this bug now?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19097