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

Alex Coplan <acoplan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |acoplan at gcc dot gnu.org

--- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Seeing a similar ICE with the following simple C testcase:

int a;
int b(signed char c, int d) { return c < 0 ? 0 : c >> d; }
void e(void)
{
  for (int i = 0; i <= 0; i++)
    while (a)
      b(-(i != 1), i);
}

$ aarch64-elf-gcc -O2 test.c
during GIMPLE pass: evrp
test.c: In function 'e':
test.c:8:1: internal compiler error: in choose_value, at gimple-ssa-evrp.c:282
    8 | }
      | ^
0x18d93f0 hybrid_folder::choose_value(tree_node*, tree_node*)
        /home/alecop01/toolchain/src/gcc/gcc/gimple-ssa-evrp.c:282
0x18d94e4 hybrid_folder::value_of_expr(tree_node*, gimple*)
        /home/alecop01/toolchain/src/gcc/gcc/gimple-ssa-evrp.c:236
0xf8e112 substitute_and_fold_engine::replace_uses_in(gimple*)
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-propagate.c:871
0xf8e912 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*)
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-propagate.c:1141
0x18a5d5b dom_walker::walk(basic_block_def*)
        /home/alecop01/toolchain/src/gcc/gcc/domwalk.c:309
0xf8f885 substitute_and_fold_engine::substitute_and_fold(basic_block_def*)
        /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-propagate.c:1283
0x18d9828 execute_early_vrp
        /home/alecop01/toolchain/src/gcc/gcc/gimple-ssa-evrp.c:328
0x18d9bf8 execute
        /home/alecop01/toolchain/src/gcc/gcc/gimple-ssa-evrp.c:375
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to