https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109491
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org --- Comment #17 from Jan Hubicka <hubicka at gcc dot gnu.org> --- With a cross on znver3 machine I get with ./xgcc -B ./ -mcpu=power8 -std=c++14 -O2 tt.cc --verbose -Q : phase opt and generate : 13.19 ( 99%) 0.35 ( 95%) 13.53 ( 99%) 408M ( 94%) callgraph functions expansion : 10.19 ( 77%) 0.15 ( 41%) 10.33 ( 76%) 193M ( 45%) callgraph ipa passes : 2.97 ( 22%) 0.20 ( 54%) 3.17 ( 23%) 203M ( 47%) df live regs : 0.65 ( 5%) 0.00 ( 0%) 0.62 ( 5%) 0 ( 0%) alias stmt walking : 1.19 ( 9%) 0.03 ( 8%) 1.25 ( 9%) 6915k ( 2%) tree Early VRP : 0.63 ( 5%) 0.01 ( 3%) 0.58 ( 4%) 16M ( 4%) PRE : 2.81 ( 21%) 0.01 ( 3%) 2.83 ( 21%) 349k ( 0%) scheduling : 1.00 ( 8%) 0.00 ( 0%) 0.99 ( 7%) 1997k ( 0%) inliner is: ipa inlining heuristics : 0.49 ( 4%) 0.00 ( 0%) 0.47 ( 3%) 4429k ( 1%) integration : 0.19 ( 1%) 0.04 ( 11%) 0.28 ( 2%) 117M ( 27%) So inlining itself seems to be in control. With RTL SSA we may be able to replace RTL PRE with GVN-PRE :)