diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 1996-10-03 22:58:34 +0000 | 
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 1996-10-03 22:58:34 +0000 | 
| commit | de2e226e9fba20be2fc5c0489006d990f661e78a (patch) | |
| tree | d6723a40204712867675c0ab9a6c681d1884e980 /contrib/gcc/loop.c | |
| parent | e028853bf6aa638d07fb5ccd03ef46d0ca1e9469 (diff) | |
Diffstat (limited to 'contrib/gcc/loop.c')
| -rw-r--r-- | contrib/gcc/loop.c | 36 | 
1 files changed, 9 insertions, 27 deletions
| diff --git a/contrib/gcc/loop.c b/contrib/gcc/loop.c index 338f96829fb9..8711cc042008 100644 --- a/contrib/gcc/loop.c +++ b/contrib/gcc/loop.c @@ -6041,16 +6041,13 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)  	{  	  /* Can replace with any giv that was reduced and  	     that has (MULT_VAL != 0) and (ADD_VAL == 0). -	     Require a constant for MULT_VAL, so we know it's nonzero. -	     ??? We disable this optimization to avoid potential -	     overflows.  */ +	     Require a constant for MULT_VAL, so we know it's nonzero.  */  	  for (v = bl->giv; v; v = v->next_iv)  	    if (CONSTANT_P (v->mult_val) && v->mult_val != const0_rtx  		&& v->add_val == const0_rtx  		&& ! v->ignore && ! v->maybe_dead && v->always_computable -		&& v->mode == mode -		&& 0) +		&& v->mode == mode)  	      {  		if (! eliminate_p)  		  return 1; @@ -6070,19 +6067,12 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)  	  /* Look for a giv with (MULT_VAL != 0) and (ADD_VAL != 0);  	     replace test insn with a compare insn (cmp REDUCED_GIV ADD_VAL). -	     Require a constant for MULT_VAL, so we know it's nonzero. -	     ??? Do this only if ADD_VAL is a pointer to avoid a potential -	     overflow problem.  */ +	     Require a constant for MULT_VAL, so we know it's nonzero.  */  	  for (v = bl->giv; v; v = v->next_iv)  	    if (CONSTANT_P (v->mult_val) && v->mult_val != const0_rtx  		&& ! v->ignore && ! v->maybe_dead && v->always_computable -		&& v->mode == mode -		&& (GET_CODE (v->add_val) == SYMBOL_REF -		    || GET_CODE (v->add_val) == LABEL_REF -		    || GET_CODE (v->add_val) == CONST -		    || (GET_CODE (v->add_val) == REG -			&& REGNO_POINTER_FLAG (REGNO (v->add_val))))) +		&& v->mode == mode)  	      {  		if (! eliminate_p)  		  return 1; @@ -6137,11 +6127,7 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)  	  for (v = bl->giv; v; v = v->next_iv)  	    if (CONSTANT_P (v->mult_val) && INTVAL (v->mult_val) > 0 -		&& (GET_CODE (v->add_val) == SYMBOL_REF -		    || GET_CODE (v->add_val) == LABEL_REF -		    || GET_CODE (v->add_val) == CONST -		    || (GET_CODE (v->add_val) == REG -			&& REGNO_POINTER_FLAG (REGNO (v->add_val)))) +		&& CONSTANT_P (v->add_val)  		&& ! v->ignore && ! v->maybe_dead && v->always_computable  		&& v->mode == mode)  	      { @@ -6174,14 +6160,12 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)  	      }  	  /* Look for giv with positive constant mult_val and nonconst add_val. -	     Insert insns to calculate new compare value.   -	     ??? Turn this off due to possible overflow.  */ +	     Insert insns to calculate new compare value.  */  	  for (v = bl->giv; v; v = v->next_iv)  	    if (CONSTANT_P (v->mult_val) && INTVAL (v->mult_val) > 0  		&& ! v->ignore && ! v->maybe_dead && v->always_computable -		&& v->mode == mode -		&& 0) +		&& v->mode == mode)  	      {  		rtx tem; @@ -6207,14 +6191,12 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)  	  if (invariant_p (arg) == 1)  	    {  	      /* Look for giv with constant positive mult_val and nonconst -		 add_val. Insert insns to compute new compare value.  -		 ??? Turn this off due to possible overflow.  */ +		 add_val. Insert insns to compute new compare value.  */  	      for (v = bl->giv; v; v = v->next_iv)  		if (CONSTANT_P (v->mult_val) && INTVAL (v->mult_val) > 0  		    && ! v->ignore && ! v->maybe_dead && v->always_computable -		    && v->mode == mode -		    && 0) +		    && v->mode == mode)  		  {  		    rtx tem; | 
