Fix ICE in loop unrolling

Zdenek Dvorak rakdver@kam.mff.cuni.cz
Wed Nov 14 19:34:00 GMT 2007


Hi,

> Here is an update of the patch with your suggestion also implemented.
> Regstrapped on amd64-linux.  Okay for trunk?

this is OK.  It would be also nice to replace this:

> +  cond = last_stmt (exit->src);
> +  COND_EXPR_COND (cond) = (exit->flags & EDGE_TRUE_VALUE) ? boolean_true_node
> +    : boolean_false_node;
> +  update_stmt (cond);
>    update_ssa (TODO_update_ssa);

by removing the non-exit edge.  That will completely remove the loop,
though, and I am not sure whether the code using this function would to
handle this correcly (we definitely do not want to do that in stage 3,
unless there turns out to be some PR requiring it).

Zdenek



More information about the Gcc-patches mailing list