This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/45422] [4.6 Regression] compile time increases 3x.
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 25 Jan 2011 09:03:15 +0000
- Subject: [Bug middle-end/45422] [4.6 Regression] compile time increases 3x.
- Auto-submitted: auto-generated
- References: <bug-45422-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45422
--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-25 09:02:57 UTC ---
IMHO for P1 purposes we should just look at compile time regressions from 4.5
here at this point. On the #c1 testcase I get with --enable-checking=release
current trunk and current 4.5 branch on x86_64-linux:
4.6 x86_64 -m64 -O3 -fbounds-check -ftime-report
df live regs : 1.87 ( 3%) usr 0.02 ( 1%) sys 1.66 ( 3%) wall
0 kB ( 0%) ggc
parser : 1.04 ( 2%) usr 0.20 ( 9%) sys 1.24 ( 2%) wall
53425 kB ( 6%) ggc
tree VRP : 1.82 ( 3%) usr 0.09 ( 4%) sys 2.02 ( 3%) wall
63870 kB ( 8%) ggc
tree PTA : 1.02 ( 2%) usr 0.01 ( 0%) sys 0.98 ( 2%) wall
5498 kB ( 1%) ggc
tree SSA incremental : 1.23 ( 2%) usr 0.12 ( 6%) sys 1.11 ( 2%) wall
6733 kB ( 1%) ggc
tree CCP : 1.33 ( 2%) usr 0.03 ( 1%) sys 1.33 ( 2%) wall
4989 kB ( 1%) ggc
complete unrolling : 1.07 ( 2%) usr 0.16 ( 8%) sys 1.28 ( 2%) wall
88755 kB (11%) ggc
tree iv optimization : 10.99 (19%) usr 0.09 ( 4%) sys 11.09 (19%) wall
138994 kB (16%) ggc
CSE : 1.28 ( 2%) usr 0.01 ( 0%) sys 1.28 ( 2%) wall
229 kB ( 0%) ggc
combiner : 2.00 ( 3%) usr 0.00 ( 0%) sys 1.95 ( 3%) wall
31554 kB ( 4%) ggc
integrated RA : 3.68 ( 6%) usr 0.01 ( 0%) sys 3.78 ( 6%) wall
19906 kB ( 2%) ggc
reload : 2.04 ( 4%) usr 0.00 ( 0%) sys 2.18 ( 4%) wall
7106 kB ( 1%) ggc
reload CSE regs : 2.04 ( 4%) usr 0.02 ( 1%) sys 2.01 ( 3%) wall
12188 kB ( 1%) ggc
scheduling 2 : 2.55 ( 4%) usr 0.01 ( 0%) sys 2.61 ( 4%) wall
895 kB ( 0%) ggc
TOTAL : 57.47 2.11 59.60
845009 kB
4.5 x86_64 -m64 -O3 -fbounds-check -ftime-report
df live regs : 1.58 ( 4%) usr 0.00 ( 0%) sys 1.39 ( 3%) wall
0 kB ( 0%) ggc
parser : 1.02 ( 2%) usr 0.18 ( 9%) sys 1.21 ( 3%) wall
55472 kB ( 7%) ggc
tree VRP : 1.39 ( 3%) usr 0.13 ( 6%) sys 1.73 ( 4%) wall
56478 kB ( 8%) ggc
tree PRE : 1.03 ( 2%) usr 0.04 ( 2%) sys 1.24 ( 3%) wall
7286 kB ( 1%) ggc
complete unrolling : 1.32 ( 3%) usr 0.21 (10%) sys 1.55 ( 3%) wall
91137 kB (12%) ggc
tree iv optimization : 5.45 (12%) usr 0.09 ( 4%) sys 5.43 (12%) wall
95576 kB (13%) ggc
expand : 2.62 ( 6%) usr 0.16 ( 8%) sys 2.76 ( 6%) wall
58104 kB ( 8%) ggc
CSE : 1.18 ( 3%) usr 0.01 ( 0%) sys 0.94 ( 2%) wall
261 kB ( 0%) ggc
combiner : 1.53 ( 3%) usr 0.00 ( 0%) sys 1.48 ( 3%) wall
19953 kB ( 3%) ggc
integrated RA : 3.21 ( 7%) usr 0.00 ( 0%) sys 3.55 ( 8%) wall
11410 kB ( 2%) ggc
reload : 2.13 ( 5%) usr 0.04 ( 2%) sys 2.00 ( 4%) wall
7273 kB ( 1%) ggc
reload CSE regs : 1.67 ( 4%) usr 0.01 ( 0%) sys 1.55 ( 3%) wall
10032 kB ( 1%) ggc
scheduling 2 : 2.65 ( 6%) usr 0.02 ( 1%) sys 2.66 ( 6%) wall
1063 kB ( 0%) ggc
TOTAL : 44.55 2.05 46.62
747832 kB
4.6 x86_64 -m32 -O3 -fbounds-check -ftime-report
df live regs : 1.24 ( 2%) usr 0.02 ( 1%) sys 1.05 ( 2%) wall
0 kB ( 0%) ggc
parser : 1.05 ( 2%) usr 0.18 ( 9%) sys 1.23 ( 2%) wall
53861 kB ( 7%) ggc
tree VRP : 1.48 ( 3%) usr 0.05 ( 2%) sys 1.78 ( 3%) wall
52970 kB ( 7%) ggc
tree iv optimization : 9.92 (19%) usr 0.15 ( 7%) sys 9.98 (18%) wall
125735 kB (17%) ggc
CSE : 1.46 ( 3%) usr 0.00 ( 0%) sys 1.42 ( 3%) wall
329 kB ( 0%) ggc
combiner : 1.41 ( 3%) usr 0.01 ( 0%) sys 1.35 ( 2%) wall
20981 kB ( 3%) ggc
integrated RA : 2.89 ( 6%) usr 0.00 ( 0%) sys 2.83 ( 5%) wall
14083 kB ( 2%) ggc
reload : 2.59 ( 5%) usr 0.02 ( 1%) sys 2.58 ( 5%) wall
18918 kB ( 3%) ggc
reload CSE regs : 2.62 ( 5%) usr 0.00 ( 0%) sys 2.91 ( 5%) wall
13557 kB ( 2%) ggc
scheduling 2 : 2.49 ( 5%) usr 0.01 ( 0%) sys 2.45 ( 5%) wall
953 kB ( 0%) ggc
TOTAL : 52.36 2.02 54.39
744417 kB
4.5 x86_64 -m32 -O3 -fbounds-check -ftime-report
df live regs : 1.41 ( 3%) usr 0.02 ( 1%) sys 1.43 ( 3%) wall
0 kB ( 0%) ggc
parser : 1.02 ( 2%) usr 0.18 ( 9%) sys 1.19 ( 2%) wall
55913 kB ( 8%) ggc
tree VRP : 1.44 ( 3%) usr 0.14 ( 7%) sys 1.39 ( 3%) wall
54451 kB ( 8%) ggc
tree iv optimization : 7.76 (17%) usr 0.11 ( 5%) sys 8.02 (17%) wall
107362 kB (15%) ggc
expand : 2.66 ( 6%) usr 0.08 ( 4%) sys 2.73 ( 6%) wall
56088 kB ( 8%) ggc
CSE : 1.41 ( 3%) usr 0.00 ( 0%) sys 1.31 ( 3%) wall
480 kB ( 0%) ggc
integrated RA : 2.88 ( 6%) usr 0.00 ( 0%) sys 2.78 ( 6%) wall
9890 kB ( 1%) ggc
reload : 2.71 ( 6%) usr 0.05 ( 2%) sys 2.68 ( 6%) wall
20135 kB ( 3%) ggc
reload CSE regs : 1.98 ( 4%) usr 0.00 ( 0%) sys 2.00 ( 4%) wall
13166 kB ( 2%) ggc
scheduling 2 : 2.67 ( 6%) usr 0.04 ( 2%) sys 2.77 ( 6%) wall
840 kB ( 0%) ggc
TOTAL : 46.38 2.08 48.48
708175 kB
(listing only lines with >= 1sec times). For x86_64 -m32 it doesn't seem to be
a big deal and even the 4.6 numbers are nowhere the claimed 3x increase, it is
a 30% slowdown and only half of the slowdown can be actually attributed to
ivopts. On the #c5 testcase ivopts still takes > 50% of the reported time
though. To me this sounds P2ish, but I'll let Richard chime in...