Patch from Bill Moyer.
* loop.c (basic_induction_var): Added test preventing CCmode parameter passed to convert_modes(). From-SVN: r19779
This commit is contained in:
parent
b24f65cddd
commit
829002bbab
|
@ -1,3 +1,8 @@
|
||||||
|
Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
|
||||||
|
|
||||||
|
* loop.c (basic_induction_var): Added test preventing
|
||||||
|
CCmode parameter passed to convert_modes().
|
||||||
|
|
||||||
Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
|
||||||
|
|
||||||
* expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
|
* expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
|
||||||
|
|
|
@ -5257,7 +5257,12 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val)
|
||||||
case CONST_INT:
|
case CONST_INT:
|
||||||
case SYMBOL_REF:
|
case SYMBOL_REF:
|
||||||
case CONST:
|
case CONST:
|
||||||
if (loops_enclosed == 1)
|
/* convert_modes aborts if we try to convert to or from CCmode, so just
|
||||||
|
exclude that case. It is very unlikely that a condition code value
|
||||||
|
would be a useful iterator anyways. */
|
||||||
|
if (loops_enclosed == 1
|
||||||
|
&& GET_MODE_CLASS (mode) != MODE_CC
|
||||||
|
&& GET_MODE_CLASS (GET_MODE (dest_reg)) != MODE_CC)
|
||||||
{
|
{
|
||||||
/* Possible bug here? Perhaps we don't know the mode of X. */
|
/* Possible bug here? Perhaps we don't know the mode of X. */
|
||||||
*inc_val = convert_modes (GET_MODE (dest_reg), mode, x, 0);
|
*inc_val = convert_modes (GET_MODE (dest_reg), mode, x, 0);
|
||||||
|
|
Loading…
Reference in New Issue