diff options
author | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-24 23:32:29 +0000 |
---|---|---|
committer | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-11-24 23:32:29 +0000 |
commit | 53eeaf020e2e0d8f5c20a72f697efe608a36ed24 (patch) | |
tree | 2c4e12dc2765003fb2fbc7f4ec6f43b79539a187 /gcc/reload1.c | |
parent | e8b065281040f9e3f6bed9b7f633139ad930f9f5 (diff) | |
download | gcc-53eeaf020e2e0d8f5c20a72f697efe608a36ed24.tar.gz |
revert accidentally committed changes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167130 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload1.c')
-rw-r--r-- | gcc/reload1.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 2f02ae38158..da354a7e325 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -6600,6 +6600,17 @@ choose_reload_regs (struct insn_chain *chain) && (rld[r].nregs == max_group_size || ! reg_classes_intersect_p (rld[r].rclass, group_class))) search_equiv = rld[r].in; + /* If this is an output reload from a simple move insn, look + if an equivalence for the input is available. */ + else if (inheritance && rld[r].in == 0 && rld[r].out != 0) + { + rtx set = single_set (insn); + + if (set + && rtx_equal_p (rld[r].out, SET_DEST (set)) + && CONSTANT_P (SET_SRC (set))) + search_equiv = SET_SRC (set); + } if (search_equiv) { |