summaryrefslogtreecommitdiff
path: root/gcc/fwprop.c
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-15 14:45:55 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2007-11-15 14:45:55 +0000
commitf4d72632e92471fa96075ef83cdec3eb6d05df98 (patch)
treedd3b93cb01cbb99a18927f2b06dd0dab5af48171 /gcc/fwprop.c
parent0cfc65d40a273b4f5c84913f0243c9f66531e860 (diff)
downloadgcc-f4d72632e92471fa96075ef83cdec3eb6d05df98.tar.gz
2007-11-15 Paolo Bonzini <bonzini@gnu.org>
* fwprop.c (try_fwprop_subst): Skip profitability check for forward propagation into an address; that's done in should_replace_address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130201 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fwprop.c')
-rw-r--r--gcc/fwprop.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fwprop.c b/gcc/fwprop.c
index eecd0a0a5de..6bc9c674a76 100644
--- a/gcc/fwprop.c
+++ b/gcc/fwprop.c
@@ -697,7 +697,8 @@ try_fwprop_subst (struct df_ref *use, rtx *loc, rtx new, rtx def_insn, bool set_
ok = false;
}
- else if (rtx_cost (SET_SRC (set), SET) > old_cost)
+ else if (DF_REF_TYPE (use) == DF_REF_REG_USE
+ && rtx_cost (SET_SRC (set), SET) > old_cost)
{
if (dump_file)
fprintf (dump_file, "Changes to insn %d not profitable\n",