[Bug ipa/88755] [9 Regression] ICE in compute_fn_summary, at ipa-fnsummary.c:2513 since r267601
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88755 Jan Hubicka changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Jan Hubicka --- Fixed.
[Bug ipa/88755] [9 Regression] ICE in compute_fn_summary, at ipa-fnsummary.c:2513 since r267601
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88755 --- Comment #4 from Jan Hubicka --- Author: hubicka Date: Sat Feb 9 17:56:22 2019 New Revision: 268727 URL: https://gcc.gnu.org/viewcvs?rev=268727&root=gcc&view=rev Log: PR ipa/88755 * params.def (uninlined-function-insns, uninlined-function-time, uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper bound so we don't get overflows. Modified: trunk/gcc/ChangeLog trunk/gcc/params.def
[Bug ipa/88755] [9 Regression] ICE in compute_fn_summary, at ipa-fnsummary.c:2513 since r267601
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88755 --- Comment #3 from Jan Hubicka --- tp_sum is function that should be inlined. The problem is that its estimated size after inlining a function call within tp_sum is 75. We used to estimate that the speedup for inlining function is large and thus we bumped limit from 30 to 400 (inline-insns-sinle to -auto). This is no longer the case after fix to the time acocunting, because tp_sum has loop which we now account as iterating 16 times (it is correct) and previously we accounted 1 times (that is bug I fixed). Now the speedup for inlining estimated by inliner is just about 2% which falls bellow to the estimate of 15%. I do not see how to reasonably tel inliner that this is good idea to inline here. So shall we just xfail the testcase? Honza
[Bug ipa/88755] [9 Regression] ICE in compute_fn_summary, at ipa-fnsummary.c:2513 since r267601
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88755 --- Comment #2 from Martin Liška --- and: $ g++ /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.eh/catch3p.C --param uninlined-thunk-insns=2062717165 -Og during IPA pass: inline /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.eh/catch3p.C: At global scope: /home/marxin/Programming/gcc/gcc/testsuite/g++.old-deja/g++.eh/catch3p.C:117:1: internal compiler error: in estimate_size_after_inlining, at ipa-inline-analysis.c:272 117 | } | ^ 0x705b89 estimate_size_after_inlining(cgraph_node*, cgraph_edge*) /home/marxin/Programming/gcc/gcc/ipa-inline-analysis.c:272 0x1799c09 caller_growth_limits /home/marxin/Programming/gcc/gcc/ipa-inline.c:186 0x1799c09 can_inline_edge_by_limits_p /home/marxin/Programming/gcc/gcc/ipa-inline.c:428 0x179f0ea inline_small_functions /home/marxin/Programming/gcc/gcc/ipa-inline.c:1852 0x179f0ea ipa_inline /home/marxin/Programming/gcc/gcc/ipa-inline.c:2528 0x179f0ea execute /home/marxin/Programming/gcc/gcc/ipa-inline.c:2936
[Bug ipa/88755] [9 Regression] ICE in compute_fn_summary, at ipa-fnsummary.c:2513 since r267601
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88755 Richard Biener changed: What|Removed |Added Priority|P3 |P1
[Bug ipa/88755] [9 Regression] ICE in compute_fn_summary, at ipa-fnsummary.c:2513 since r267601
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88755 --- Comment #1 from Martin Liška --- Similarly for: $ ./xgcc -B. --param uninlined-function-time=2000 /tmp/ice.i -c during GIMPLE pass: local-fnsummary /tmp/ice.i: In function ‘a’: /tmp/ice.i:1:1: internal compiler error: in account_size_time, at ipa-fnsummary.c:179 1 | void a(void) {} | ^~~~ 0x162efd1 ipa_fn_summary::account_size_time(int, sreal, predicate const&, predicate const&) ../../gcc/ipa-fnsummary.c:179 0x163f41b analyze_function_body ../../gcc/ipa-fnsummary.c:2037 0x1643b51 compute_fn_summary(cgraph_node*, bool) ../../gcc/ipa-fnsummary.c:2495 0x1643f8b compute_fn_summary_for_current ../../gcc/ipa-fnsummary.c:2523 0x164d2b2 execute ../../gcc/ipa-fnsummary.c:3578