This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/81945] [8 Regression] ICE in operator[], at vec.h:749
- From: "amker at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 14 Sep 2017 16:36:32 +0000
- Subject: [Bug tree-optimization/81945] [8 Regression] ICE in operator[], at vec.h:749
- Auto-submitted: auto-generated
- References: <bug-81945-4@http.gcc.gnu.org/bugzilla/>
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.