------- Comment #1 from spop at gcc dot gnu dot org 2008-09-05 16:19 ------- (In reply to comment #0) > During SCoP detection we split bbs (e.g. in "scopdet_edge_info"), but the SCoP > detection should only detect SCoPs and not modify anything.
No, we want to split BBs to increase the scop boundaries by moving code in different BBs. > Also it splits bbs in inner loops, that do not need to be splitted. > More precisely: we split the basic block that is the destination of a single exit loop, and that has multiple successors. I think this is not a big problem right now, but indeed this bb_split is not needed. We can remove the bb_split by slightly modifying the scop detection algorithm: putting the code that splits the bbs after we determine whether the loop exit should be the place for a new scop, i.e. computing result.next after we determine result.difficult. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37372