--- Comment #10 from rguenth at gcc dot gnu dot org 2007-05-02 10:17
---
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFI
--- Comment #9 from rguenth at gcc dot gnu dot org 2007-05-02 10:13 ---
Subject: Bug 31146
Author: rguenth
Date: Wed May 2 09:12:49 2007
New Revision: 124349
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124349
Log:
2007-05-02 Richard Guenther <[EMAIL PROTECTED]>
PR
--- Comment #8 from mueller at gcc dot gnu dot org 2007-03-20 12:48 ---
*** Bug 30864 has been marked as a duplicate of this bug. ***
--
mueller at gcc dot gnu dot org changed:
What|Removed |Added
---
--- Comment #7 from rguenth at gcc dot gnu dot org 2007-03-20 11:05 ---
A slightly related testcase is now properly optimized.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31146
--- Comment #6 from rguenth at gcc dot gnu dot org 2007-03-16 10:11 ---
Subject: Bug 31146
Author: rguenth
Date: Fri Mar 16 10:11:14 2007
New Revision: 122985
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122985
Log:
2007-03-16 Richard Guenther <[EMAIL PROTECTED]>
PR
--- Comment #5 from rguenth at gcc dot gnu dot org 2007-03-12 16:01 ---
Well sure - if we then would get
int *p_1 = &a[0];
void *q_1 = (void *)p_1;
int *r_1 = (int *)q_1;
if (r_1 != NULL)
...
then FRE would figure out that r_1 == p_1 and the forwprop pass after FRE will
fold the
--- Comment #4 from pinskia at gcc dot gnu dot org 2007-03-12 15:41 ---
I think really this comes down to our type system, I remember posting a patch
for the LTO branch which adds back the explict cast to "void*", I can test
that, it should fix this testcase also :).
--
http://gcc.g
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-03-12 15:35 ---
The problem is that for example FRE value numbers
void *p_4 = &a[0];
int *q_1 = (int *)p_4;
p_4 with void* type (even if &a[0] is of int* type) and so re-generates the
conversion to int* even though it is about
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-03-12 15:09 ---
I should mention, unless it can produce a constant result.
For an example this function:
void bar (void * a)
{
struct foo Foo;
int i;
for (i=0; i<3; ++i)
{
void *p = a;
int *pi = (int *)p;
--- Comment #1 from pinskia at gcc dot gnu dot org 2007-03-12 14:59 ---
forwprop should NOT, I repeat should NOT look through casts for conditional if
the SSA_NAME that defines the cast is still used after the conditional.
Really this non zero optimization should be done by VRP.
--
10 matches
Mail list logo