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

--- Comment #17 from Uroš Bizjak <ubizjak at gmail dot com> ---
The assembly is just mirroring what tree optimizers prepare:

  pretmp_94 = __gcov0.prep_compound_page[7];
  _179 = pretmp_94 + 1;
  ivtmp.1725_211 = (unsigned long long) _179;

  ...


  <bb 9> [local count: 955630225]:
  # ivtmp.1725_77 = PHI <ivtmp.1725_69(9), ivtmp.1725_211(8)>
  # ivtmp.1730_178 = PHI <ivtmp.1730_168(9), ivtmp.1730_157(8)>
  p_16 = (struct page *) ivtmp.1730_178;
  MEM <struct address_space *> [(union  *)p_16 + 12B] = 1024B;
  MEM[(volatile long unsigned int *)p_16 + 4B] ={v} _95;
  PROF_edge_counter_46 = (long long int) ivtmp.1725_77;
  __gcov0.prep_compound_page[7] = PROF_edge_counter_46;
  ivtmp.1725_69 = ivtmp.1725_77 + 1;
  ivtmp.1730_168 = ivtmp.1730_178 + 40;
  if (_19 != ivtmp.1725_69)
    goto <bb 9>; [89.00%]
  else
    goto <bb 7>; [11.00%]


So, loop variable is initialized to __gcov0.prep_compound_page[7] ???

Reply via email to