aboutsummaryrefslogtreecommitdiff
path: root/gcc/postreload.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-06-27 03:21:13 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2007-06-27 01:21:13 +0000
commit95e88efd101c43bb55c8584fa2bf2ccbff718401 (patch)
treed59653c3a0aa3705788cc27ac0fac2f506d86c38 /gcc/postreload.c
parenta652517c6f573d8069375cc4793e85eb250ba3b2 (diff)
downloadgcc-95e88efd101c43bb55c8584fa2bf2ccbff718401.zip
gcc-95e88efd101c43bb55c8584fa2bf2ccbff718401.tar.gz
gcc-95e88efd101c43bb55c8584fa2bf2ccbff718401.tar.bz2
fwprop.c (try_fwprop_subst): Use validate_unshare_change.
* fwprop.c (try_fwprop_subst): Use validate_unshare_change. * postreload.c (reload_cse_simplify_set): Instead of copying the rtx early use validate_unshare_change. (reload_combine): Likewise. * recog.c (change_t): New field unshare. (validate_change_1): Rename from validate_change; add argument unshare. (validate_change): Turn into wrapper of validate_change_1; update prototype for bools. (validate_unshare_change): New. (confirm_change_group): Unshare changes if asked for; avoid unnecesary calls of df_insn_rescan. * recog.h (validate_change): Replace ints by bools. (validate_unshare_change): Declare. From-SVN: r126050
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r--gcc/postreload.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c
index 3894efa..16dec22 100644
--- a/gcc/postreload.c
+++ b/gcc/postreload.c
@@ -345,7 +345,7 @@ reload_cse_simplify_set (rtx set, rtx insn)
}
#endif
- validate_change (insn, &SET_SRC (set), copy_rtx (this_rtx), 1);
+ validate_unshare_change (insn, &SET_SRC (set), this_rtx, 1);
old_cost = this_cost, did_change = 1;
}
}
@@ -881,11 +881,11 @@ reload_combine (void)
with REG_SUM. */
for (i = reg_state[regno].use_index;
i < RELOAD_COMBINE_MAX_USES; i++)
- validate_change (reg_state[regno].reg_use[i].insn,
- reg_state[regno].reg_use[i].usep,
- /* Each change must have its own
- replacement. */
- copy_rtx (reg_sum), 1);
+ validate_unshare_change (reg_state[regno].reg_use[i].insn,
+ reg_state[regno].reg_use[i].usep,
+ /* Each change must have its own
+ replacement. */
+ reg_sum, 1);
if (apply_change_group ())
{