Hi Nathan,
> Kazu, I hope I have time to look in detail at your investigation, however
> one thing that might be causing a problem is that FOR_EACH_EDGE is an iterator
> that works for a non-constant VEC. This means there's an extra level of
> indirection that the optimizer cannot remove, unless
Hello,
> >To see what kind of code GCC generates for FOR_EACH_EDGE, I wrote a
> >simple dummy function.
>
> Kazu, I hope I have time to look in detail at your investigation, however
> one thing that might be causing a problem is that FOR_EACH_EDGE is an
> iterator
> that works for a non-constant
Kazu Hirata wrote:
To see what kind of code GCC generates for FOR_EACH_EDGE, I wrote a
simple dummy function.
Kazu, I hope I have time to look in detail at your investigation, however
one thing that might be causing a problem is that FOR_EACH_EDGE is an iterator
that works for a non-constant VEC.
Hi,
To see what kind of code GCC generates for FOR_EACH_EDGE, I wrote a
simple dummy function.
int
dummy (basic_block bb)
{
edge e;
edge_iterator ei;
FOR_EACH_EDGE (e, ei, bb->succs)
if (e->dest == NULL)
return 1;
return 0;
}
Vanilla mainline
The result is r