diff options
author | Bernd Schmidt <bernds@redhat.com> | 2001-03-15 17:36:43 +0000 |
---|---|---|
committer | Bernd Schmidt <bernds@gcc.gnu.org> | 2001-03-15 17:36:43 +0000 |
commit | bb2cf916da4251c227826f82e945d8c90dbd552b (patch) | |
tree | 6df32fedcae265d8eca337f5eea13f10480a5f12 /gcc/alias.c | |
parent | e06736f44e98d3239e2d589c4f55e35caf84a2b9 (diff) | |
download | gcc-bb2cf916da4251c227826f82e945d8c90dbd552b.zip gcc-bb2cf916da4251c227826f82e945d8c90dbd552b.tar.gz gcc-bb2cf916da4251c227826f82e945d8c90dbd552b.tar.bz2 |
Use only nonvarying rtxs as known values
From-SVN: r40505
Diffstat (limited to 'gcc/alias.c')
-rw-r--r-- | gcc/alias.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/alias.c b/gcc/alias.c index 4aca90d..6b20df7 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -2276,6 +2276,7 @@ init_alias_analysis () && REG_N_SETS (regno) == 1) || (note = find_reg_note (insn, REG_EQUIV, NULL_RTX)) != 0) && GET_CODE (XEXP (note, 0)) != EXPR_LIST + && ! rtx_varies_p (XEXP (note, 0), 1) && ! reg_overlap_mentioned_p (SET_DEST (set), XEXP (note, 0))) { reg_known_value[regno] = XEXP (note, 0); @@ -2289,8 +2290,7 @@ init_alias_analysis () && GET_CODE (XEXP (src, 1)) == CONST_INT) { rtx op0 = XEXP (src, 0); - if (reg_known_value[REGNO (op0)]) - op0 = reg_known_value[REGNO (op0)]; + op0 = reg_known_value[REGNO (op0)]; reg_known_value[regno] = plus_constant_for_output (op0, INTVAL (XEXP (src, 1))); |