[Bug bootstrap/46528] [4.6 Regression] profiledbootstrap failure

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Nov 24 22:04:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46528

--- Comment #9 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-24 21:50:55 UTC ---
The CFGs match, the spanning tree as well.  Instrumenting needs to split
two edges, but that shouldn't matter and happens elsewhere as well.

But we have in .optimized (of the -fprofile-generate case)

<bb 11>:
  pretmp.676_490 = (unsigned int) D.8874_415;
  pretmp.677_491 = macro_39->params;
  pretmp.681_496 = *.LPBX1[67];

<bb 12>:
  # len_429 = PHI <len_55(12), len_44(11)>
  # ivtmp.698_171 = PHI <ivtmp.698_92(12), 0(11)>
  D.8871_52 = MEM[base: pretmp.677_491, index: ivtmp.698_171, step: 8, offset:
0B];
  D.8872_53 = D.8871_52->ident.len;
  D.8873_54 = D.8872_53 + 1;
  len_55 = D.8873_54 + len_429;
  # DEBUG len => len_55
  # DEBUG i => D#11
  # DEBUG len => len_55
  # DEBUG i => D#11
  ivtmp.698_92 = ivtmp.698_171 + 1;
  i_64 = (unsigned int) ivtmp.698_92;
  if (i_64 < pretmp.676_490)
    goto <bb 12>;
  else
    goto <bb 13>;

<bb 13>:
  D.11695_474 = pretmp.681_496 + 1;
  D.11697_493 = pretmp.676_490 + 4294967295;
  D.11698_127 = (long int) D.11697_493;
  *.LPBX1_I_lsm.686_486 = D.11695_474 + D.11698_127;
  *.LPBX1[67] = *.LPBX1_I_lsm.686_486;

which at least looks odd to me and produced by SCCP (supposedly
*.LPBX1[67] + 1 + (long)(niter - 1), so not 100% invalid).

Soooo ... for those who can reproduce it, can you try with
-fno-tree-scev-cprop?

I'll wrap my brain around that above computation tomorrow ;)



More information about the Gcc-bugs mailing list