This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/30103] missed strength reduction optimization (test replacement)
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Dec 2006 14:34:25 -0000
- Subject: [Bug tree-optimization/30103] missed strength reduction optimization (test replacement)
- References: <bug-30103-1008@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from rguenth at gcc dot gnu dot org 2006-12-09 14:34 -------
Uh, indeed the testcase is invalid. Using unsigned int or -fwrapv instead
makes it valid. But we still have
strength_test10 (data)
{
unsigned int ivtmp.31;
int * pretmp.23;
int stop;
<bb 2>:
stop = *(data + 12B);
pretmp.23 = data + 8B;
ivtmp.31 = 0;
<L0>:;
*((int *) ((unsigned int) *pretmp.23 * 4) + data) = (int) ivtmp.31;
ivtmp.31 = ivtmp.31 + 21;
if (stop > (int) (ivtmp.31 * 1022611261)) goto <L0>; else goto <L1>;
<L1>:;
return;
}
so we don't fix up the exit test, also with unsigned.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rakdver at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30103