https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86194

            Bug ID: 86194
           Summary: [8/9 Regression] ICE: SIGSEGV in
                    avoid_constant_pool_reference (simplify-rtx.c:215)
                    with -O -g -mavx512bw
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

Created attachment 44290
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44290&action=edit
reduced testcase

Compiler output:
$ x86_64-pc-linux-gnu-gcc -O -g -mavx512bw testcase.c -wrapper
valgrind,-q,--num-callers=50
==30755== Invalid read of size 2
==30755==    at 0xCE11AB: avoid_constant_pool_reference(rtx_def*)
(simplify-rtx.c:215)
==30755==    by 0xCD20BC: simplify_binary_operation(rtx_code, machine_mode,
rtx_def*, rtx_def*) (simplify-rtx.c:2162)
==30755==    by 0xCD5559: simplify_gen_binary(rtx_code, machine_mode, rtx_def*,
rtx_def*) (simplify-rtx.c:194)
==30755==    by 0x1004FAB: adjust_mems(rtx_def*, rtx_def const*, void*)
(var-tracking.c:1137)
==30755==    by 0xCE3C17: simplify_replace_fn_rtx(rtx_def*, rtx_def const*,
rtx_def* (*)(rtx_def*, rtx_def const*, void*), void*) (simplify-rtx.c:429)
==30755==    by 0xCE3413: simplify_replace_fn_rtx(rtx_def*, rtx_def const*,
rtx_def* (*)(rtx_def*, rtx_def const*, void*), void*) (simplify-rtx.c:553)
==30755==    by 0xFFF255: adjust_mem_uses(rtx_def**, void*)
(var-tracking.c:1160)
==30755==    by 0x1001EC8: adjust_insn(basic_block_def*, rtx_insn*) [clone
.isra.88] (var-tracking.c:1272)
==30755==    by 0x101404A: vt_initialize() (var-tracking.c:10198)
==30755==    by 0x101B1B7: variable_tracking_main_1 (var-tracking.c:10435)
==30755==    by 0x101B1B7: variable_tracking_main (var-tracking.c:10488)
==30755==    by 0x101B1B7: (anonymous
namespace)::pass_variable_tracking::execute(function*) (var-tracking.c:10525)
==30755==    by 0xBDA4A3: execute_one_pass(opt_pass*) (passes.c:2446)
==30755==    by 0xBDADD7: execute_pass_list_1(opt_pass*) (passes.c:2535)
==30755==    by 0xBDADE9: execute_pass_list_1(opt_pass*) (passes.c:2536)
==30755==    by 0xBDADE9: execute_pass_list_1(opt_pass*) (passes.c:2536)
==30755==    by 0xBDAE34: execute_pass_list(function*, opt_pass*)
(passes.c:2546)
==30755==    by 0x8416ED: cgraph_node::expand() (cgraphunit.c:2119)
==30755==    by 0x842C3A: expand_all_functions (cgraphunit.c:2255)
==30755==    by 0x842C3A: symbol_table::compile() [clone .part.55]
(cgraphunit.c:2606)
==30755==    by 0x845597: compile (cgraphunit.c:2665)
==30755==    by 0x845597: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2699)
==30755==    by 0xD06E6D: compile_file() (toplev.c:479)
==30755==    by 0x688539: do_compile (toplev.c:2086)
==30755==    by 0x688539: toplev::main(int, char**) (toplev.c:2221)
==30755==    by 0x68AADA: main (main.c:39)
==30755==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==30755== 
during RTL pass: vartrack
testcase.c: In function 'foo':
testcase.c:20:1: internal compiler error: Segmentation fault
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.

$ x86_64-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-261695-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--disable-bootstrap --with-cloog --with-ppl --with-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld
--with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-261695-checking-yes-rtl-df-extra-nobootstrap-amd64
Thread model: posix
gcc version 9.0.0 20180618 (experimental) (GCC)

Reply via email to