diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-27 01:21:13 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-27 01:21:13 +0000 |
commit | 11d686e25f7f40db2e4161ab80ff70021169a33f (patch) | |
tree | d59653c3a0aa3705788cc27ac0fac2f506d86c38 /gcc/postreload.c | |
parent | d42964c933c83676e0b9681eb3034858c46c87aa (diff) | |
download | gcc-11d686e25f7f40db2e4161ab80ff70021169a33f.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126050 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r-- | gcc/postreload.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c index 3894efaec8f..16dec228b51 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 ()) { |