[Bug middle-end/38582] New: excessive time in rename registers
jv244 at cam dot ac dot uk
gcc-bugzilla@gcc.gnu.org
Sat Dec 20 11:17:00 GMT 2008
This is split off from PR38474 for clarity. Compiling the testcase of that PR
(http://gcc.gnu.org/bugzilla/attachment.cgi?id=16873)
as
gfortran-4.3 -ffree-line-length-512 -g -ffree-form -ftime-report -c -O3
-march=native -funroll-loops testcase.f90
shows that about 13 hours are needed in rename registers.
Execution times (seconds)
garbage collection : 3.96 ( 0%) usr 0.00 ( 0%) sys 3.95 ( 0%) wall
0 kB ( 0%) ggc
callgraph construction: 0.42 ( 0%) usr 0.01 ( 0%) sys 0.44 ( 0%) wall
10751 kB ( 1%) ggc
callgraph optimization: 0.78 ( 0%) usr 0.02 ( 0%) sys 0.82 ( 0%) wall
14320 kB ( 1%) ggc
ipa reference : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall
0 kB ( 0%) ggc
ipa pure const : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
cfg cleanup : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
0 kB ( 0%) ggc
trivially dead code : 5.36 ( 0%) usr 0.00 ( 0%) sys 5.38 ( 0%) wall
0 kB ( 0%) ggc
df reaching defs : 6.56 ( 0%) usr 0.07 ( 1%) sys 6.60 ( 0%) wall
0 kB ( 0%) ggc
df live regs : 16.93 ( 0%) usr 0.00 ( 0%) sys 16.96 ( 0%) wall
0 kB ( 0%) ggc
df live&initialized regs: 7.39 ( 0%) usr 0.00 ( 0%) sys 7.38 ( 0%) wall
0 kB ( 0%) ggc
df use-def / def-use chains: 14.49 ( 0%) usr 0.02 ( 0%) sys 14.52 ( 0%)
wall 0 kB ( 0%) ggc
df reg dead/unused notes: 10.94 ( 0%) usr 0.00 ( 0%) sys 10.96 ( 0%) wall
37217 kB ( 3%) ggc
register information : 4.97 ( 0%) usr 0.00 ( 0%) sys 4.97 ( 0%) wall
0 kB ( 0%) ggc
alias analysis : 8.84 ( 0%) usr 0.01 ( 0%) sys 8.86 ( 0%) wall
49164 kB ( 3%) ggc
register scan : 1.78 ( 0%) usr 0.00 ( 0%) sys 1.80 ( 0%) wall
0 kB ( 0%) ggc
rebuild jump labels : 3.93 ( 0%) usr 0.00 ( 0%) sys 3.93 ( 0%) wall
0 kB ( 0%) ggc
parser : 3.24 ( 0%) usr 0.10 ( 1%) sys 3.35 ( 0%) wall
60522 kB ( 4%) ggc
inline heuristics :2516.42 ( 4%) usr 4.20 (35%) sys2542.00 ( 4%) wall
0 kB ( 0%) ggc
tree gimplify : 0.55 ( 0%) usr 0.00 ( 0%) sys 0.54 ( 0%) wall
3453 kB ( 0%) ggc
tree eh : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree CFG construction : 0.02 ( 0%) usr 0.01 ( 0%) sys 0.03 ( 0%) wall
7185 kB ( 1%) ggc
tree CFG cleanup : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
1 kB ( 0%) ggc
tree VRP : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall
36 kB ( 0%) ggc
tree copy propagation : 0.63 ( 0%) usr 0.00 ( 0%) sys 0.60 ( 0%) wall
6 kB ( 0%) ggc
tree find ref. vars : 0.12 ( 0%) usr 0.01 ( 0%) sys 0.12 ( 0%) wall
8202 kB ( 1%) ggc
tree PTA : 3.61 ( 0%) usr 0.07 ( 1%) sys 3.64 ( 0%) wall
96 kB ( 0%) ggc
tree alias analysis : 6.71 ( 0%) usr 0.11 ( 1%) sys 6.74 ( 0%) wall
3 kB ( 0%) ggc
tree call clobbering : 0.39 ( 0%) usr 0.00 ( 0%) sys 0.37 ( 0%) wall
0 kB ( 0%) ggc
tree flow sensitive alias: 0.11 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
9 kB ( 0%) ggc
tree flow insensitive alias: 3.54 ( 0%) usr 0.00 ( 0%) sys 3.53 ( 0%)
wall 0 kB ( 0%) ggc
tree memory partitioning: 18.88 ( 0%) usr 0.03 ( 0%) sys 18.93 ( 0%) wall
0 kB ( 0%) ggc
tree PHI insertion : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
1 kB ( 0%) ggc
tree SSA rewrite : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall
25972 kB ( 2%) ggc
tree SSA other : 0.02 ( 0%) usr 0.03 ( 0%) sys 0.08 ( 0%) wall
0 kB ( 0%) ggc
tree SSA incremental : 0.82 ( 0%) usr 0.00 ( 0%) sys 0.82 ( 0%) wall
9 kB ( 0%) ggc
tree operand scan :6681.62 (11%) usr 0.55 ( 5%) sys6698.35 (11%) wall
19727 kB ( 1%) ggc
dominator optimization: 0.26 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
11 kB ( 0%) ggc
tree SRA : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
0 kB ( 0%) ggc
tree STORE-CCP : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 0%) wall
1 kB ( 0%) ggc
tree CCP : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall
3 kB ( 0%) ggc
tree reassociation : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
2 kB ( 0%) ggc
tree PRE : 0.37 ( 0%) usr 0.00 ( 0%) sys 0.38 ( 0%) wall
2289 kB ( 0%) ggc
tree FRE : 0.38 ( 0%) usr 0.01 ( 0%) sys 0.38 ( 0%) wall
2297 kB ( 0%) ggc
tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree forward propagate: 0.04 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
0 kB ( 0%) ggc
tree conservative DCE : 0.53 ( 0%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall
0 kB ( 0%) ggc
tree aggressive DCE : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
0 kB ( 0%) ggc
tree DSE : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
0 kB ( 0%) ggc
tree SSA to normal : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
3 kB ( 0%) ggc
tree rename SSA copies: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
0 kB ( 0%) ggc
expand :1279.48 ( 2%) usr 2.74 (23%) sys1285.18 ( 2%) wall
440026 kB (31%) ggc
lower subreg : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
0 kB ( 0%) ggc
forward prop : 1.74 ( 0%) usr 0.03 ( 0%) sys 1.73 ( 0%) wall
8458 kB ( 1%) ggc
CSE : 9.02 ( 0%) usr 0.04 ( 0%) sys 9.04 ( 0%) wall
27164 kB ( 2%) ggc
dead code elimination : 3.63 ( 0%) usr 0.00 ( 0%) sys 3.62 ( 0%) wall
0 kB ( 0%) ggc
dead store elim1 : 5.64 ( 0%) usr 0.05 ( 0%) sys 5.69 ( 0%) wall
37803 kB ( 3%) ggc
dead store elim2 : 7.64 ( 0%) usr 0.01 ( 0%) sys 7.65 ( 0%) wall
38112 kB ( 3%) ggc
web : 1.38 ( 0%) usr 0.02 ( 0%) sys 1.41 ( 0%) wall
0 kB ( 0%) ggc
CSE 2 : 4.26 ( 0%) usr 0.02 ( 0%) sys 4.29 ( 0%) wall
10087 kB ( 1%) ggc
branch prediction : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
3 kB ( 0%) ggc
combiner : 5.02 ( 0%) usr 0.03 ( 0%) sys 5.06 ( 0%) wall
17823 kB ( 1%) ggc
regmove : 4.83 ( 0%) usr 0.00 ( 0%) sys 4.83 ( 0%) wall
1 kB ( 0%) ggc
local alloc : 11.33 ( 0%) usr 0.08 ( 1%) sys 11.36 ( 0%) wall
64779 kB ( 5%) ggc
global alloc : 21.86 ( 0%) usr 0.69 ( 6%) sys 22.55 ( 0%) wall
275939 kB (20%) ggc
reload CSE regs : 10.28 ( 0%) usr 0.00 ( 0%) sys 10.29 ( 0%) wall
79246 kB ( 6%) ggc
load CSE after reload : 0.84 ( 0%) usr 0.00 ( 0%) sys 0.85 ( 0%) wall
0 kB ( 0%) ggc
thread pro- & epilogue: 0.89 ( 0%) usr 0.00 ( 0%) sys 0.89 ( 0%) wall
13 kB ( 0%) ggc
peephole 2 : 1.46 ( 0%) usr 0.00 ( 0%) sys 1.46 ( 0%) wall
0 kB ( 0%) ggc
rename registers :49100.30 (82%) usr 2.30 (19%) sys49376.54 (82%) wall
16842 kB ( 1%) ggc
scheduling 2 : 21.80 ( 0%) usr 0.60 ( 5%) sys 22.39 ( 0%) wall
150933 kB (11%) ggc
machine dep reorg : 1.99 ( 0%) usr 0.00 ( 0%) sys 2.00 ( 0%) wall
0 kB ( 0%) ggc
reorder blocks : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
1 kB ( 0%) ggc
final : 3.83 ( 0%) usr 0.04 ( 0%) sys 3.88 ( 0%) wall
738 kB ( 0%) ggc
symout : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
5418 kB ( 0%) ggc
variable tracking : 1.86 ( 0%) usr 0.02 ( 0%) sys 1.87 ( 0%) wall
17 kB ( 0%) ggc
TOTAL :59825.47 11.92 60151.75
1415015 kB
--
Summary: excessive time in rename registers
Product: gcc
Version: 4.3.3
Status: UNCONFIRMED
Keywords: compile-time-hog
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jv244 at cam dot ac dot uk
OtherBugsDependingO 38474
nThis:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38582
More information about the Gcc-bugs
mailing list