This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/24609] [4.0/4.1/4.2/4.3 regression] Same value duplicated in two different registers
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jul 2007 22:11:38 -0000
- Subject: [Bug tree-optimization/24609] [4.0/4.1/4.2/4.3 regression] Same value duplicated in two different registers
- References: <bug-24609-1313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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