[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Jeffrey A. Law changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||law at redhat dot com Resolution|--- |FIXED --- Comment #15 from Jeffrey A. Law --- Fixed on the trunk.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #14 from Jeffrey A. Law --- Author: law Date: Tue Apr 18 18:49:19 2017 New Revision: 246980 URL: https://gcc.gnu.org/viewcvs?rev=246980=gcc=rev Log: gcc/ PR rtl-optimization/80357 * haifa-sched.c (tmp_bitmap): New variable. (model_recompute): Handle duplicate use records. (alloc_global_sched_pressure_data): Initialize tmp_bitmap. (free_global_sched_pressure_data): Free it. gcc/testsuite/ PR rtl-optimization/80357 * gcc.c-torture/compile/pr80357.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr80357.c Modified: trunk/gcc/ChangeLog trunk/gcc/haifa-sched.c trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #13 from Segher Boessenkool --- Yes exactly. When pressure is removed the reg is on the reg_use_list eight times, but when pressure was added it was just once.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 rsandifo at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rsandifo at gcc dot gnu.org --- Comment #12 from rsandifo at gcc dot gnu.org --- Looks like we have many reg_use_datas for the same register. I haven't looked why yet (maybe that too is a bug), but the fallout shouldn't be as catastrophic as this. Testing a patch.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #11 from Segher Boessenkool --- The pressure becomes quite negative here... that isn't supposed to happen as far as I can see. Allowing all negative pressures in the asserts makes everything compile fine, but there really shouldn't be negative pressures at all?
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Jakub Jelinek changed: What|Removed |Added CC||rsandifo at gcc dot gnu.org --- Comment #10 from Jakub Jelinek --- CCing Richard as SCHED_PRESSURE_MODEL author.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Richard Biener changed: What|Removed |Added Priority|P3 |P1
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #9 from Bill Schmidt --- (In reply to Jakub Jelinek from comment #8) > (In reply to Bill Schmidt from comment #6) > > That revision enabled -fsched-pressure by default, so it may have been > > latent with -fsched-pressure before then. > > No, r243865 does not ICE with -O3 -fsched-pressure. OK, --param-sched-pressure-algorithm=2 must also be needed.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #8 from Jakub Jelinek --- (In reply to Bill Schmidt from comment #6) > That revision enabled -fsched-pressure by default, so it may have been > latent with -fsched-pressure before then. No, r243865 does not ICE with -O3 -fsched-pressure.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #7 from Pat Haugen --- (In reply to Bill Schmidt from comment #6) > That revision enabled -fsched-pressure by default, so it may have been > latent with -fsched-pressure before then. Yes, this is a latent bug in the "model" sched-pressure algorithm code. I can reproduce it with r243865 (revision before I turned on -fsched-pressure for powerpc) by adding -fsched-pressure --param sched-pressure-algorithm=2. I'll do some digging.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #6 from Bill Schmidt --- That revision enabled -fsched-pressure by default, so it may have been latent with -fsched-pressure before then.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 --- Comment #5 from Jakub Jelinek --- Started with r243866.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Bill Schmidt changed: What|Removed |Added CC||dje at gcc dot gnu.org, ||pthaugen at gcc dot gnu.org, ||segher at gcc dot gnu.org --- Comment #4 from Bill Schmidt --- Fails this assert: gcc_assert (MODEL_REF_PRESSURE (group, point, pci) == max_pressure); Pat, might this be related to some of the sched-pressure class changes?
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Bill Schmidt changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #3 from Bill Schmidt --- Confirmed. -msecure-plt is not required. Happens with -O3 but not with -O2.
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Matthias Klose changed: What|Removed |Added Status|WAITING |UNCONFIRMED Ever confirmed|1 |0 --- Comment #2 from Matthias Klose --- $ cat ./dpdk-16.11.1/igb_ethdev.i typedef char a; a b, c; int d, e; void f(void *g) { *(volatile int *)g; } void j() { a h, i; for (; b; b += 2) { d = b; i = i >> b; if (i) continue; f( + (b >> 2)); h = 0; for (; h < 8 / 2; h++) if (i << h) e = 0; } }
[Bug rtl-optimization/80357] [7 Regression] ICE in model_update_limit_points_in_group, at haifa-sched.c:1982 on powerpc64le-linux-gnu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80357 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed||2017-04-10 CC||jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek --- Please submit a full bug report, with preprocessed source if appropriate.