https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81945
--- Comment #3 from amker at gcc dot gnu.org --- Don't know transformation done by graphite. In this case, graphite0 has an additional function dump: ;; Function at._loopfn.1 (at._loopfn.1, funcdef_no=2, decl_uid=1951, cgraph_uid=1, symbol_order=2) at._loopfn.1 (void * .paral_data_param) { //... } which is generated from the original function at? Also the new function contains loop and loop->orig_loop_num is copied from data LFN_LOOP_DIST_ALIAS. It also looks like the distributed loop is handled by graphite/parloops. In general I think it's okay, only waste some compilation time because transformed loop will be removed by vectorizer. But leaking loop->orig_loop_num information to newly created function is wrong.