About standard_iv_increment_position
Sebastian Pop
sebastian.pop@cri.ensmp.fr
Fri Jan 28 15:26:00 GMT 2005
Zdenek Dvorak wrote:
> > The first remark is that this function is not used in mainline nor in
> > autovect. It seems to me that the arguments of create_iv should be
> > computed using standard_iv_increment_position, thus some cleanup
> > changes should be considered to tree-loop-linear.c and to
> > tree-vectorizer.c.
>
> this indeed might be a good idea.
>
I'll prepare a patch for mainline.
> > The second remark is that standard_iv_increment_position will return a
> > block_stmt_iterator and a position that is invalid for verify_flow_info,
> > as shown in the following case that fails:
> >
> > if (_n_413 < N_60) goto <L5>; else goto <L23>;
> > ivtmp.1076_499 = ivtmp.1076_498 + 1;
>
> I don't think this can ever happen.
This occured during a bootstrap of gcc in autovect branch.
> The piece of code your patch
> changes is only executed with bsi in latch block. Latch block always
> has precisely one successor, and therefore it cannot end with
> conditional expression.
>
> This reasoning is a bit fragile, so the following might be better
>
> *insert_after = !last || !stmt_ends_bb_p (last);
>
Indeed this works. Thanks.
More information about the Gcc-patches
mailing list