Commit b2a7fa89 by Zdenek Dvorak Committed by Zdenek Dvorak

* function.c (purge_addressof_1): Postpone insn in fewer cases.

From-SVN: r66286
parent ad03daf0
2003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* function.c (purge_addressof_1): Postpone insn in fewer cases.
2003-04-29 Geoffrey Keating <geoffk@apple.com> 2003-04-29 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/host-darwin.c (segv_handler): When -dH is used, * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
......
...@@ -3075,13 +3075,6 @@ purge_addressof_1 (loc, insn, force, store, may_postpone, ht) ...@@ -3075,13 +3075,6 @@ purge_addressof_1 (loc, insn, force, store, may_postpone, ht)
{ {
rtx sub = XEXP (XEXP (x, 0), 0); rtx sub = XEXP (XEXP (x, 0), 0);
if (may_postpone)
{
if (!postponed_insns || XEXP (postponed_insns, 0) != insn)
postponed_insns = alloc_INSN_LIST (insn, postponed_insns);
return true;
}
if (GET_CODE (sub) == MEM) if (GET_CODE (sub) == MEM)
sub = adjust_address_nv (sub, GET_MODE (x), 0); sub = adjust_address_nv (sub, GET_MODE (x), 0);
else if (GET_CODE (sub) == REG else if (GET_CODE (sub) == REG
...@@ -3091,6 +3084,15 @@ purge_addressof_1 (loc, insn, force, store, may_postpone, ht) ...@@ -3091,6 +3084,15 @@ purge_addressof_1 (loc, insn, force, store, may_postpone, ht)
{ {
int size_x, size_sub; int size_x, size_sub;
if (may_postpone)
{
/* Postpone for now, so that we do not emit bitfield arithmetics
unless there is some benefit from it. */
if (!postponed_insns || XEXP (postponed_insns, 0) != insn)
postponed_insns = alloc_INSN_LIST (insn, postponed_insns);
return true;
}
if (!insn) if (!insn)
{ {
/* When processing REG_NOTES look at the list of /* When processing REG_NOTES look at the list of
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment