[Bug debug/84776] New: Indefinite compile time w/ var-tracking
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Fri Mar 9 07:39:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84776
Bug ID: 84776
Summary: Indefinite compile time w/ var-tracking
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: compile-time-hog
Severity: normal
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
gcc-8.0.0-alpha20180225 snapshot (r257975), 7.3, 6.3, 5.4, 4.9.4, 4.8.5, 4.7.4
all take indefinite time when compiling the following snippet w/ -g -O3
(-Ofast) -fno-tree-dce --param max-completely-peel-times=20 --param
max-vartrack-expr-depth=20:
int
vv (int ob)
{
int hw = ob;
int kh = hw;
for (ob = 0; ob < 20; ++ob)
hw *= hw;
return kh;
}
gcc 4.6.4 doesn't have param max-vartrack-expr-depth. -fno-var-tracking fixes
the issue.
% timeout 5 gcc-8.0.0-alpha20180225 -g -O3 -fno-tree-dce --param
max-completely-peel-times=20 --param max-vartrack-expr-depth=20 -c rogfdfw4.c
zsh: exit 124 timeout 5 gcc-8.0.0-alpha20180225 -g -O3 -fno-tree-dce --param
--param -c
perf top captures the following profile:
27.96% cc1 [.] simplify_binary_operation_1
23.79% cc1 [.] avoid_constant_pool_reference
15.57% cc1 [.] simplify_binary_operation
13.21% cc1 [.] commutative_operand_precedence
8.49% cc1 [.] simplify_associative_operation
5.90% cc1 [.] simplify_const_binary_operation
2.59% cc1 [.] swap_commutative_operands_p
1.08% cc1 [.] HONOR_NANS
0.80% cc1 [.] HONOR_SIGNED_ZEROS
0.54% cc1 [.] HONOR_SNANS
0.05% cc1 [.] ggc_internal_alloc
More information about the Gcc-bugs
mailing list