cse.c (find_best_addr): Consider binary operators even if second argument is not CONST_INT.

* cse.c (find_best_addr): Consider binary operators even if second
        argument is not CONST_INT.

From-SVN: r67463
This commit is contained in:
Richard Henderson 2003-06-04 14:05:20 -07:00 committed by Richard Henderson
parent c48ec59087
commit 7b9c108f63
2 changed files with 8 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2003-06-04 Richard Henderson <rth@redhat.com>
* cse.c (find_best_addr): Consider binary operators even if second
argument is not CONST_INT.
2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* doc/invoke.texi (max-cse-path-length): Document.

View File

@ -3009,10 +3009,9 @@ find_best_addr (insn, loc, mode)
if (flag_expensive_optimizations
&& (GET_RTX_CLASS (GET_CODE (*loc)) == '2'
|| GET_RTX_CLASS (GET_CODE (*loc)) == 'c')
&& GET_CODE (XEXP (*loc, 0)) == REG
&& GET_CODE (XEXP (*loc, 1)) == CONST_INT)
&& GET_CODE (XEXP (*loc, 0)) == REG)
{
rtx c = XEXP (*loc, 1);
rtx op1 = XEXP (*loc, 1);
do_not_record = 0;
hash = HASH (XEXP (*loc, 0), Pmode);
@ -3054,7 +3053,7 @@ find_best_addr (insn, loc, mode)
|| exp_equiv_p (p->exp, p->exp, 1, 0)))
{
rtx new = simplify_gen_binary (GET_CODE (*loc), Pmode,
p->exp, c);
p->exp, op1);
int new_cost;
new_cost = address_cost (new, mode);