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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
int a, b, c;
signed char d;

void
foo ()
{
  for (; d;)
    {
      for (int f = 0; f <= 1; f++)
        for (int g = 0; g <= 1; g++)
          for (int h = 0; h <= 1; h++)
            if (h)
              return;
      a = c / b;
    }
}

int
main ()
{
}

What I see is that the IPA profile pass creates the
__gcov7.foo/12 (__gcov7.foo)
__gcov3.foo/11 (__gcov3.foo)
__gcov0.foo/10 (__gcov0.foo)
vars, but the __gcov3.foo one is reclaimed
Reclaiming variables: __gcov3.foo/11
and not used from anywhere but the __gcov_.foo variable.
So, it is not emitted into assembly, but the reference in __gcov_.foo remains.

Reply via email to