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

            Bug ID: 95281
           Summary: ICE: in compute_live_loop_exits, at
                    tree-ssa-loop-manip.c:247
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vsevolod.livinskij at frtk dot ru
  Target Milestone: ---

Error:
>$g++ -O3 -c func.cpp
during GIMPLE pass: lim
func.cpp: In function ‘void c(bool, unsigned int*)’:
func.cpp:5:6: internal compiler error: in compute_live_loop_exits, at
tree-ssa-loop-manip.c:247
    5 | void c(bool d, unsigned e[]) {
      |      ^
0x827f56 compute_live_loop_exits
        gcc_src/gcc/tree-ssa-loop-manip.c:247
0x827f56 add_exit_phis_var
        gcc_src/gcc/tree-ssa-loop-manip.c:334
0x827f56 add_exit_phis
        gcc_src/gcc/tree-ssa-loop-manip.c:356
0x827f56 rewrite_into_loop_closed_ssa_1(bitmap_head*, unsigned int, int, loop*)
        gcc_src/gcc/tree-ssa-loop-manip.c:678
0x827f56 rewrite_into_loop_closed_ssa_1(bitmap_head*, unsigned int, int, loop*)
        gcc_src/gcc/tree-ssa-loop-manip.c:631
0x1238f8b move_computations
        gcc_src/gcc/tree-ssa-loop-im.c:1309
0x1238f8b tree_ssa_lim
        gcc_src/gcc/tree-ssa-loop-im.c:3151
0x1238f8b execute
        gcc_src/gcc/tree-ssa-loop-im.c:3198


Reproducer:
#include <algorithm>

short a;
extern short b[];
void c(bool d, unsigned e[]) {
  for (short f = 0; f < 20; f += 4)
    for (int g = 0; g < 23; g++) {
      a = std::max(e[f], (unsigned)d);
      b[g] = 5;
    }
}

GCC version:
11.0.0 (bcb63eb2cbd3caf212b9cf42d8c218c09dc6ff8b)

Reply via email to