]> git.ipfire.org Git - thirdparty/gcc.git/commit
sched: Remove debug counter sched_block
authorKewen Lin <linkw@linux.ibm.com>
Thu, 21 Dec 2023 03:21:54 +0000 (21:21 -0600)
committerKewen Lin <linkw@linux.ibm.com>
Thu, 21 Dec 2023 03:21:54 +0000 (21:21 -0600)
commitef259ebeb39501bfddcc7c203a9a7a0daefa8ffd
tree98218e70f735467033df2c778fa51832829cea6f
parent4d9e0f3f211c8c459f285b5cddabc9958ad170f8
sched: Remove debug counter sched_block

Currently the debug counter sched_block doesn't work well
since we create dependencies for some insns and those
dependencies are expected to be resolved during scheduling
insns but they can get skipped once we are skipping some
block while respecting sched_block debug counter.

For example, for the below test case:
--
int a, b, c, e, f;
float d;

void
g ()
{
  float h, i[1];
  for (; f;)
    if (c)
      {
d *e;
if (b)
  {
    float *j = i;
    j[0] = 0;
  }
h = d;
      }
  if (h)
    a = i[0];
}
--
ICE occurs with option "-O2 -fdbg-cnt=sched_block:1".

As the discussion in [1], it seems that we think this debug
counter is useless and can be removed.  It's also implied
that if it's useful and used often, the above issue should
have been cared about and resolved earlier.  So this patch
is to remove this debug counter.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635852.html

gcc/ChangeLog:

* dbgcnt.def (sched_block): Remove.
* sched-rgn.cc (schedule_region): Remove the support of debug count
sched_block.
gcc/dbgcnt.def
gcc/sched-rgn.cc