mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-28 12:15:24 +08:00
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:
parent
c48ec59087
commit
7b9c108f63
@ -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>
|
2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
|
||||||
|
|
||||||
* doc/invoke.texi (max-cse-path-length): Document.
|
* doc/invoke.texi (max-cse-path-length): Document.
|
||||||
|
@ -3009,10 +3009,9 @@ find_best_addr (insn, loc, mode)
|
|||||||
if (flag_expensive_optimizations
|
if (flag_expensive_optimizations
|
||||||
&& (GET_RTX_CLASS (GET_CODE (*loc)) == '2'
|
&& (GET_RTX_CLASS (GET_CODE (*loc)) == '2'
|
||||||
|| GET_RTX_CLASS (GET_CODE (*loc)) == 'c')
|
|| GET_RTX_CLASS (GET_CODE (*loc)) == 'c')
|
||||||
&& GET_CODE (XEXP (*loc, 0)) == REG
|
&& GET_CODE (XEXP (*loc, 0)) == REG)
|
||||||
&& GET_CODE (XEXP (*loc, 1)) == CONST_INT)
|
|
||||||
{
|
{
|
||||||
rtx c = XEXP (*loc, 1);
|
rtx op1 = XEXP (*loc, 1);
|
||||||
|
|
||||||
do_not_record = 0;
|
do_not_record = 0;
|
||||||
hash = HASH (XEXP (*loc, 0), Pmode);
|
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)))
|
|| exp_equiv_p (p->exp, p->exp, 1, 0)))
|
||||||
{
|
{
|
||||||
rtx new = simplify_gen_binary (GET_CODE (*loc), Pmode,
|
rtx new = simplify_gen_binary (GET_CODE (*loc), Pmode,
|
||||||
p->exp, c);
|
p->exp, op1);
|
||||||
int new_cost;
|
int new_cost;
|
||||||
new_cost = address_cost (new, mode);
|
new_cost = address_cost (new, mode);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user