This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/83513] New: [8 Regression] ICE: qsort checking failed (error: qsort comparator non-negative on sorted output: 3) in fill_vec_av_set in selective scheduler
- From: "asolokha at gmx dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 20 Dec 2017 17:46:47 +0000
- Subject: [Bug rtl-optimization/83513] New: [8 Regression] ICE: qsort checking failed (error: qsort comparator non-negative on sorted output: 3) in fill_vec_av_set in selective scheduler
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83513
Bug ID: 83513
Summary: [8 Regression] ICE: qsort checking failed (error:
qsort comparator non-negative on sorted output: 3) in
fill_vec_av_set in selective scheduler
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Keywords: ice-checking, ice-on-valid-code
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
gcc-8.0.0-alpha20171217 snapshot (r255766) ICEs when compiling the following
snippet w/ -O1 (-O2, -Os) -fschedule-insns -fselective-scheduling
-fno-guess-branch-probability:
void
oh (long int qc, short int de)
{
{
long int uf = 0;
int *xu, *gx = &uf;
p6:
*gx = (qc == 0) ? -1 : (qc - uf);
if (de == *gx)
{
++*xu;
de = *xu;
}
else
de = qc;
}
goto p6;
}
% gcc-8.0.0-alpha20171217 -O1 -fschedule-insns -fselective-scheduling
-fno-guess-branch-probability -c -w vugfco5g.c
vugfco5g.c: In function 'oh':
vugfco5g.c:20:1: error: qsort comparator non-negative on sorted output: 3
}
^
during RTL pass: sched1
vugfco5g.c:20:1: internal compiler error: qsort checking failed
0x829340 qsort_chk_error
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/vec.c:222
0x8293c7 qsort_chk(void*, unsigned long, unsigned long, int (*)(void const*,
void const*))
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/vec.c:274
0xd069c4 vec<_expr*, va_heap, vl_embed>::qsort(int (*)(void const*, void
const*))
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/vec.h:1050
0xd069c4 vec<_expr*, va_heap, vl_ptr>::qsort(int (*)(void const*, void const*))
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/vec.h:1812
0xd069c4 fill_vec_av_set
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:3725
0xd089ea fill_ready_list
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:4022
0xd089ea find_best_expr
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:4382
0xd089ea fill_insns
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:5539
0xd0ae50 schedule_on_fences
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7356
0xd0ae50 sel_sched_region_2
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7494
0xd0c588 sel_sched_region_1
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7536
0xd0c588 sel_sched_region(int)
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7637
0xd0d5e1 run_selective_scheduling()
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sel-sched.c:7713
0xcedadd rest_of_handle_sched
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sched-rgn.c:3715
0xcedadd execute
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20171217/work/gcc-8-20171217/gcc/sched-rgn.c:3825