https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119706
Bug ID: 119706 Summary: [15 regression] ICE in gimple pass 'dom' for -O3 -mcpu=grace --param=aarch64-autovec-preference=sve-only Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jschmitz at gcc dot gnu.org Target Milestone: --- Target: aarch64 Created attachment 61057 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61057&action=edit Test case for reproducing the ICE For the attached test case (reduced from the RAJAPerf kernel Basic_MULTI_REDUCE), there is an ICE when compiling it with -O3 -mcpu=grace --param=aarch64-autovec-preference=sve-only: during GIMPLE pass: dom testcase.i: In member function ‘void a::basic::u::v(cd, a::b)’: testcase.i:170:6: internal compiler error: in maybe_canonicalize_mem_ref_addr, at gimple-fold.cc:6394 170 | void u::v(cd, b) { | ^ 0x2622a9b internal_error(char const*, ...) .././../../src/gcc/diagnostic-global-context.cc:517 0x844b57 fancy_abort(char const*, int, char const*) .././../../src/gcc/diagnostic.cc:1749 0xf4ff5b maybe_canonicalize_mem_ref_addr .././../../src/gcc/gimple-fold.cc:6394 0xf5c117 fold_stmt_1 .././../../src/gcc/gimple-fold.cc:6499 0x1497cd7 dom_opt_dom_walker::optimize_stmt(basic_block_def*, gimple_stmt_iterator*, bool*) .././../../src/gcc/tree-ssa-dom.cc:2352 0x149951f dom_opt_dom_walker::before_dom_children(basic_block_def*) .././../../src/gcc/tree-ssa-dom.cc:1747 0x22f08e3 dom_walker::walk(basic_block_def*) .././../../src/gcc/domwalk.cc:311 0x1499e13 execute .././../../src/gcc/tree-ssa-dom.cc:939 The gimple expression MEM <vector([2,2]) double> [(double *)POLY_INT_CST [16B, 16B] + ivtmp_97 * 8] does not pass the assertion gcc_checking_assert (TREE_CODE (TREE_OPERAND (*t, 0)) == DEBUG_EXPR_DECL || is_gimple_mem_ref_addr (TREE_OPERAND (*t, 0))).