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

            Bug ID: 108888
           Summary: error: definition in block 26 follows the use
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this C++ code:

int scaleValueSaturate_scalefactor, scaleValueSaturate___trans_tmp_2,
    scaleValuesSaturate_i;
int scaleValueSaturate(int value) {
  int result = __builtin_clz(value);
  if (value)
    if (-result <= scaleValueSaturate_scalefactor)
      return 0;
  return scaleValueSaturate___trans_tmp_2;
}
short scaleValuesSaturate_dst;
short *scaleValuesSaturate_src;
void scaleValuesSaturate() {
  for (; scaleValuesSaturate_i; scaleValuesSaturate_i++)
    scaleValuesSaturate_dst =
        scaleValueSaturate(scaleValuesSaturate_src[scaleValuesSaturate_i]);
}

compiled with recent gcc trunk, does this:

[dcb36@fedora36 cvise]$ ~/gcc/results/bin/g++ -c -O1 bug887B.cc
[dcb36@fedora36 cvise]$ ~/gcc/results/bin/g++ -c -O2 bug887B.cc
bug887B.cc: In function ‘void scaleValuesSaturate()’:
bug887B.cc:12:6: error: definition in block 4 follows the use
   12 | void scaleValuesSaturate() {
      |      ^~~~~~~~~~~~~~~~~~~
for SSA_NAME: _25 in statement:
result_14 = .MASK_CALL (__builtin_clz, value.0_11, _25);
during GIMPLE pass: ifcvt
bug887B.cc:12:6: internal compiler error: verify_ssa failed
0x1316f05 verify_ssa(bool, bool)
        ../../trunk.d1/gcc/tree-ssa.cc:1211

The bug first seems to appear sometime between git hash g:a804419c89db9e1c
from yesterday and g:aee5ee35602e0098, from today.

Reply via email to