This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/24609] [4.0/4.1/4.2/4.3 regression] Same value duplicated in two different registers



------- Comment #15 from pinskia at gcc dot gnu dot org  2007-07-04 22:11 -------
For foo4.c
> SCCVN says j_3 value numbers to i_2 (VH.3)
But that is really PR 28868.

The orginal issue here I think is fixed because we now use unsigned int for the
addition.
The IR looks like:

<bb 4>:
  d = 2;
  prephitmp.39 = 1;
  goto <bb 6>;

<bb 5>:
  d = 1;
  prephitmp.39 = 0;

<bb 6>:
  MEM[base: a, index: ivtmp.49, step: 4, offset: 4294967292] = d;
  D.2029 = bar ((short int *) ivtmp.52, (int) (short int) *(pretmp.36 +
prephitmp.39), d);

Which looks good as there is no duplicated value.  Note the offset of -4 is a
different and already known issue.

Ian do you think this should no longer be a 4.3 Regression or should we even
not PRE "PHI<1,2> - 1" ?


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]