diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-30 16:52:21 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-30 16:52:21 -0500 |
commit | 92f9aa51764db2cee9a2e5617c9c58295c0ed476 (patch) | |
tree | 06c6415828e85c6e0f83c637400399d7277fb199 /gcc/cse.c | |
parent | b0468b846ef4e6efa3b35e0061dc61612c78e5f4 (diff) | |
download | gcc-92f9aa51764db2cee9a2e5617c9c58295c0ed476.tar.gz |
(cse_insn): Add missing definition of var TEM; clean up shadowed uses.
From-SVN: r6920
Diffstat (limited to 'gcc/cse.c')
-rw-r--r-- | gcc/cse.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/cse.c b/gcc/cse.c index 34e4fa222bb..227cb6316a9 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -5879,6 +5879,7 @@ cse_insn (insn, in_libcall_block) { register rtx x = PATTERN (insn); register int i; + rtx tem; register int n_sets = 0; /* Records what this insn does to set CC0. */ @@ -6038,14 +6039,11 @@ cse_insn (insn, in_libcall_block) fold_rtx (x, insn); } - if (n_sets == 1 && REG_NOTES (insn) != 0) - { - /* Store the equivalent value in SRC_EQV, if different. */ - rtx tem = find_reg_note (insn, REG_EQUAL, NULL_RTX); - - if (tem && ! rtx_equal_p (XEXP (tem, 0), SET_SRC (sets[0].rtl))) - src_eqv = canon_reg (XEXP (tem, 0), NULL_RTX); - } + /* Store the equivalent value in SRC_EQV, if different. */ + if (n_sets == 1 && REG_NOTES (insn) != 0 + && (tem = find_reg_note (insn, REG_EQUAL, NULL_RTX)) != 0 + && ! rtx_equal_p (XEXP (tem, 0), SET_SRC (sets[0].rtl))) + src_eqv = canon_reg (XEXP (tem, 0), NULL_RTX); /* Canonicalize sources and addresses of destinations. We do this in a separate pass to avoid problems when a MATCH_DUP is @@ -6683,7 +6681,7 @@ cse_insn (insn, in_libcall_block) if (n_sets == 1 && src_const && GET_CODE (dest) == REG && GET_CODE (src_const) != REG) { - rtx tem = find_reg_note (insn, REG_EQUAL, NULL_RTX); + tem = find_reg_note (insn, REG_EQUAL, NULL_RTX); /* Record the actual constant value in a REG_EQUAL note, making a new one if one does not already exist. */ |