2008/2/7 Tobias Grosser <[EMAIL PROTECTED]>: > 2. Which loops are part of a SCoP: > > At the moment we detect the loops, which are part of a SCoP like this: > > FORALL_BB_IN_SCOP(bb) > { > VEC_loops_add(bb->loop_father); > } > > This seems incorrect if we look at this SCoP: > > h #loop0 > | > a # loop0 > | > v > b # loop1 > |\ > v ^ > b | #loop1 > | d #loop1 > v/ > c #loop1 > | > v > f #loop0 > > entry: h > exit: e > SCoP: a, b, c, d, f > > So there may be bbs like "a", which have a loop_father, but the > loop_father is not completely contained in the SCoP. Therefore I do not > think, it is correct to make these loops part of the SCoP.
FORALL_BB_IN_SCOP(bb) { loop = bb->loop_father; entry_loop = scop_entry (scop)->loop_father; if (loop != entry_loop) VEC_loops_add(loop); } ? Sebastian