This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [autovect] [patch] branch merge
- From: Keith Besaw <kbesaw at us dot ibm dot com>
- To: Dorit Naishlos <DORIT at il dot ibm dot com>
- Cc: Devang Patel <dpatel at apple dot com>, gcc-patches at gcc dot gnu dot org, Ira Rosen <IRAR at il dot ibm dot com>
- Date: Tue, 12 Apr 2005 01:28:27 -0500
- Subject: Re: [autovect] [patch] branch merge
Keith Besaw
Dorit Naishlos/Haifa/IBM wrote on 04/10/2005 04:25:03 PM:
>
> (2) temporarily disabled the call to eliminate_unnecessary_casts in
> tree-ssa-forwprop.c (see FIXME) cause I got an ICE there during
> bootstrap - most probably due to wrong update (on my behalf) to the
> new immediate-uses API (see CHECKME). Because
> eliminate_unnecessary_casts is disabled we temporarily don't
> vectorize these two testcases:
> FAIL: gcc.dg/vect/no_version/vect-ifcvt-8.c scan-tree-dump-times
> vectorized 1 loops 1
> FAIL: gcc.dg/vect/no_version/vect-subsat.c scan-tree-dump-times
> vectorized 1 loops 1
>
bsi_insert_after has been changed to call updated_modified_stmts.
Loop versioning generates a dummy EQ_EXPR to pass to loop_version
and then after return builds the conditional expression in the
block generated by loop_version to contain the EQ_EXPR. Now,
however, bsi_insert_after, which is used to insert the EQ_EXPR, is
calling updated_modified_stmts which tries constant folding and
faults on the NULL operands. I'll figure out a way to build up
the statement list that defines the operands of the EQ_EXPR first
and stash it away to insert after return from the loop_version call.