[Bug ipa/87615] Possible excessive compile time with -O2
jamborm at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 7 14:29:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87615
--- Comment #12 from Martin Jambor <jamborm at gcc dot gnu.org> ---
I have just posted the patch for review in:
https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00456.html
With it the compile time of the testcase goes down from approximately
340 seconds to about 160 seconds (With -fno-ipa-cp -fno-inline the
compile time is only 30 seconds, however) the relevant bits
of-ftime-report -ftime-report-details are below:
Time variable usr sys wall
GGC
phase setup : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
1215 kB ( 0%)
phase parsing : 1.07 ( 1%) 1.12 ( 38%) 2.20 ( 1%)
37151 kB ( 7%)
phase opt and generate : 161.38 ( 99%) 1.85 ( 62%) 163.28 ( 99%)
469241 kB ( 92%)
...
ipa function summary : 0.11 ( 0%) 0.00 ( 0%) 0.10 ( 0%)
554 kB ( 0%)
`- tree STMT verifier : 0.04 ( 0%) 0.00 ( 0%) 0.04 ( 0%)
0 kB ( 0%)
`- loop init : 0.04 ( 0%) 0.00 ( 0%) 0.04 ( 0%)
11 kB ( 0%)
`- tree SSA verifier : 0.02 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- dominance computation : 0.02 ( 0%) 0.00 ( 0%) 0.03 ( 0%)
0 kB ( 0%)
...
ipa cp : 0.12 ( 0%) 0.02 ( 1%) 0.10 ( 0%)
9656 kB ( 2%)
`- tree STMT verifier : 0.05 ( 0%) 0.00 ( 0%) 0.05 ( 0%)
0 kB ( 0%)
`- alias stmt walking : 0.00 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- tree SSA verifier : 0.02 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- dominance computation : 0.02 ( 0%) 0.00 ( 0%) 0.03 ( 0%)
0 kB ( 0%)
...
ipa icf : 2.98 ( 2%) 0.00 ( 0%) 2.99 ( 2%)
0 kB ( 0%)
`- tree STMT verifier : 0.04 ( 0%) 0.00 ( 0%) 0.04 ( 0%)
0 kB ( 0%)
`- tree SSA verifier : 0.02 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- dominance computation : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
...
CFG verifier : 2.27 ( 1%) 0.00 ( 0%) 2.37 ( 1%)
0 kB ( 0%)
...
df reaching defs : 1.59 ( 1%) 0.01 ( 0%) 1.59 ( 1%)
0 kB ( 0%)
df live regs : 1.74 ( 1%) 0.00 ( 0%) 1.73 ( 1%)
0 kB ( 0%)
df live&initialized regs : 5.32 ( 3%) 0.00 ( 0%) 5.37 ( 3%)
0 kB ( 0%)
...
alias stmt walking : 3.19 ( 2%) 0.30 ( 10%) 3.35 ( 2%)
5 kB ( 0%)
...
tree VRP : 36.88 ( 23%) 0.15 ( 5%) 37.00 ( 22%)
58212 kB ( 11%)
`- tree SSA incremental : 0.10 ( 0%) 0.07 ( 2%) 0.19 ( 0%)
16219 kB ( 3%)
`- CFG verifier : 0.02 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- repair loop structures : 0.01 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- dominance computation : 0.02 ( 0%) 0.00 ( 0%) 0.02 ( 0%)
0 kB ( 0%)
`- tree operand scan : 0.09 ( 0%) 0.04 ( 1%) 0.14 ( 0%)
9616 kB ( 2%)
`- tree SSA verifier : 0.10 ( 0%) 0.00 ( 0%) 0.10 ( 0%)
0 kB ( 0%)
`- loop init : 0.03 ( 0%) 0.00 ( 0%) 0.03 ( 0%)
23 kB ( 0%)
`- tree STMT verifier : 0.13 ( 0%) 0.00 ( 0%) 0.15 ( 0%)
0 kB ( 0%)
tree Early VRP : 6.53 ( 4%) 0.00 ( 0%) 6.52 ( 4%)
1621 kB ( 0%)
`- CFG verifier : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- repair loop structures : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- dominance computation : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- tree operand scan : 0.00 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- tree SSA verifier : 0.04 ( 0%) 0.00 ( 0%) 0.04 ( 0%)
0 kB ( 0%)
`- loop init : 0.05 ( 0%) 0.00 ( 0%) 0.05 ( 0%)
39 kB ( 0%)
`- tree STMT verifier : 0.05 ( 0%) 0.00 ( 0%) 0.05 ( 0%)
0 kB ( 0%)
tree FRE : 59.08 ( 36%) 0.69 ( 23%) 59.93 ( 36%)
1822 kB ( 0%)
`- CFG verifier : 0.02 ( 0%) 0.00 ( 0%) 0.03 ( 0%)
0 kB ( 0%)
`- repair loop structures : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- dominance computation : 0.01 ( 0%) 0.00 ( 0%) 0.01 ( 0%)
0 kB ( 0%)
`- tree SSA verifier : 0.08 ( 0%) 0.00 ( 0%) 0.08 ( 0%)
0 kB ( 0%)
`- loop init : 0.06 ( 0%) 0.00 ( 0%) 0.05 ( 0%)
0 kB ( 0%)
`- alias stmt walking : 0.78 ( 0%) 0.01 ( 0%) 0.69 ( 0%)
5 kB ( 0%)
`- tree STMT verifier : 0.09 ( 0%) 0.00 ( 0%) 0.09 ( 0%)
0 kB ( 0%)
tree SSA verifier : 5.00 ( 3%) 0.00 ( 0%) 4.86 ( 3%)
0 kB ( 0%)
`- dominance computation : 0.32 ( 0%) 0.00 ( 0%) 0.40 ( 0%)
0 kB ( 0%)
tree STMT verifier : 6.82 ( 4%) 0.03 ( 1%) 6.82 ( 4%)
0 kB ( 0%)
...
verify RTL sharing : 3.95 ( 2%) 0.00 ( 0%) 3.91 ( 2%)
0 kB ( 0%)
More information about the Gcc-bugs
mailing list