Rask Ingemann Lambertsen <[EMAIL PROTECTED]> writes:

>    In local-alloc.c, block_alloc():
> 
>           if (optimize
>               && recog_data.n_operands > 1
>               && recog_data.constraints[0][0] == '='
>               && recog_data.constraints[0][1] != '&')
>             {
> 
>    The documentation about "Constraint Modifier Characters" says:
> 
>       "`&' applies only to the alternative in which it is written."

That code doesn't handle alternatives at all.  It only looks at the
first alternative.  It works that way because it is just checking
whether it can tie together a dying input register and an output
register.

The code is not optimal but it is not wrong.  This is only a
heuristic, and it is probably adequate.

Ian

Reply via email to