This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/15524] [4.0 Regression] jump threading on trees is slow with switch statements with large # of cases
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Nov 2004 14:31:42 -0000
- Subject: [Bug tree-optimization/15524] [4.0 Regression] jump threading on trees is slow with switch statements with large # of cases
- References: <20040518194300.15524.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-18 14:31 -------
I think this fixed except I have not checked with checking turned off.
With checking still on I get the following passes as hot:
dominator optimization: 31.03 (42%) usr 0.02 ( 1%) sys 31.26 (40%) wall
tree SSA verifier : 5.64 ( 8%) usr 0.00 ( 0%) sys 5.68 ( 7%) wall
rename registers : 7.37 (10%) usr 0.02 ( 1%) sys 7.46 (10%) wall
But cfg cleanup went down a huge amount:
tree CFG cleanup : 1.23 ( 2%) usr 0.00 ( 0%) sys 1.25 ( 2%) wall
Before (20041113) on a slightly faster machine and different OS:
tree CFG cleanup : 33.36 (43%) usr 0.01 ( 1%) sys 33.41 (42%) wall
tree split crit edges : 16.83 (22%) usr 0.01 ( 1%) sys 16.87 (21%) wall
dominator optimization: 7.94 (10%) usr 0.03 ( 2%) sys 7.97 (10%) wall
tree SSA verifier : 2.57 ( 3%) usr 0.01 ( 1%) sys 2.53 ( 3%) wall
rename registers : 5.57 ( 7%) usr 0.03 ( 2%) sys 5.61 ( 7%) wall
Hmm, either DOM was just slowed down (because of checking) or something is really different between
these two OS's.
But as you can see that tree CFG cleanup and tree split crit edges have sped up a lot.
I will try to get a new compiler built without checking turned on later today to get final numbers.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15524