Re: Struggle with FOR_EACH_EDGE

2005-05-01 Thread Kazu Hirata
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

Re: Struggle with FOR_EACH_EDGE

2005-05-01 Thread Zdenek Dvorak
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

Re: Struggle with FOR_EACH_EDGE

2005-05-01 Thread Nathan Sidwell
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.

Re: Struggle with FOR_EACH_EDGE

2005-04-29 Thread Kazu Hirata
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