[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From reichelt at gcc dot gnu dot org 2005-02-21 08:40 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-02-20 13:47 --- Subject: Bug 19951 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-02-20 13:47:29 Modified files: gcc: ChangeLog tree-vect-analyze.c Log message: PR tree-optimization/19951 * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge is abnormal. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.7539r2=2.7540 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vect-analyze.c.diff?cvsroot=gccr1=2.3r2=2.4 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-02-20 20:32 --- Subject: Bug 19951 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2005-02-20 20:32:41 Modified files: gcc/testsuite : ChangeLog gcc/testsuite/g++.dg: dg.exp Added files: gcc/testsuite/g++.dg/vect: pr19951.cc vect.exp Log message: PR tree-optimization/19951 * g++.dg/vect: New directory. * g++.dg/vect/vect.exp: New file. * g++.dg/vect/pr19951.cc: New testcase. * g++.dg/dg.exp: Also prune vectorizer tests. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gccr1=1.5059r2=1.5060 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/dg.exp.diff?cvsroot=gccr1=1.10r2=1.11 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/vect/pr19951.cc.diff?cvsroot=gccr1=NONEr2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/vect/vect.exp.diff?cvsroot=gccr1=NONEr2=1.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From reichelt at gcc dot gnu dot org 2005-02-18 12:06 --- Reduced testcase: === struct A { ~A(); }; void foo(); void bar(int i) { A a; if (i) foo(); else for (;;) foo(); } === -- What|Removed |Added CC||reichelt at gcc dot gnu dot ||org Keywords||monitored http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From reichelt at gcc dot gnu dot org 2005-02-18 12:19 --- : Search converges between 2004-11-19-014001-trunk (#644) and 2004-11-19-161001-trunk (#645). It looks like this was introduced by one of your patches on 2004-11-19, Dorit. Btw, here's an even shorter testcase: struct A { ~A(); }; void foo(); void bar() { A a; foo(); for (;;) foo(); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
-- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2005-02-17 12:45:18 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From dorit at il dot ibm dot com 2005-02-15 13:23 --- I'm testing this patch (it solves this PR): Index: tree-vectorizer.c === RCS file: /cvs/gcc/gcc/gcc/tree-vectorizer.c,v retrieving revision 2.73 diff -c -3 -p -r2.73 tree-vectorizer.c *** tree-vectorizer.c 12 Feb 2005 12:57:01 - 2.73 --- tree-vectorizer.c 15 Feb 2005 13:18:34 - *** vect_analyze_loop_form (struct loop *loo *** 5581,5597 } /* Make sure we have a preheader basic block. */ ! if (!loop-pre_header) { ! rescan = true; ! loop_split_edge_with (loop_preheader_edge (loop), NULL); } /* Make sure there exists a single-predecessor exit bb: */ ! if (EDGE_COUNT (loop-exit_edges[0]-dest-preds) != 1) { ! rescan = true; ! loop_split_edge_with (loop-exit_edges[0], NULL); } if (rescan) --- 5581,5617 } /* Make sure we have a preheader basic block. */ ! if (!loop-pre_header || EDGE_COUNT (loop-pre_header-succs) != 1) { ! edge e = loop_preheader_edge (loop); ! if (!e-flags EDGE_ABNORMAL) ! { ! loop_split_edge_with (e, NULL); ! rescan = true; ! } ! else ! { ! if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS, loop_loc)) ! fprintf (vect_dump, not vectorized: no preheader bb.); ! return NULL; ! } } /* Make sure there exists a single-predecessor exit bb: */ ! if (EDGE_COUNT (loop-single_exit-dest-preds) != 1) { ! edge e = loop-single_exit; ! if (!e-flags EDGE_ABNORMAL) ! { ! loop_split_edge_with (e, NULL); ! rescan = true; ! } ! else ! { ! if (vect_print_dump_info (REPORT_BAD_FORM_LOOPS, loop_loc)) ! fprintf (vect_dump, not vectorized: exit-bb has multiple preds.); ! return NULL; ! } } if (rescan) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From micis at gmx dot de 2005-02-14 13:45 --- Created an attachment (id=8192) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8192action=view) preprocessed source -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951
[Bug tree-optimization/19951] ICE in tree_split_edge, at tree-cfg.c:3199 with -ftree-vectorize
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-02-14 15:48 --- Hmm, we are trying to split an abnormal (most likely an eh) edge. -- What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Keywords||ice-on-valid-code http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19951