diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 1994-12-21 05:00:26 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 1994-12-21 05:00:26 +0000 |
commit | e24b00c81a1fe3e5031393e337b679aec706432c (patch) | |
tree | cd2c839de8f4708bef9e695610279ee79a44772c /gcc | |
parent | bcc5d5d23c98e1970c9d573f34e3e4ef375579fb (diff) | |
download | gcc-e24b00c81a1fe3e5031393e337b679aec706432c.zip gcc-e24b00c81a1fe3e5031393e337b679aec706432c.tar.gz gcc-e24b00c81a1fe3e5031393e337b679aec706432c.tar.bz2 |
Always copy flags to new MEM in simplify_shift_const.
From-SVN: r8678
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/combine.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index fb82ea8..b5bb122 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -7630,14 +7630,12 @@ simplify_shift_const (x, code, result_mode, varop, count) if (BYTES_BIG_ENDIAN) new = gen_rtx (MEM, tmode, XEXP (varop, 0)); else - { - new = gen_rtx (MEM, tmode, - plus_constant (XEXP (varop, 0), - count / BITS_PER_UNIT)); - RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (varop); - MEM_VOLATILE_P (new) = MEM_VOLATILE_P (varop); - MEM_IN_STRUCT_P (new) = MEM_IN_STRUCT_P (varop); - } + new = gen_rtx (MEM, tmode, + plus_constant (XEXP (varop, 0), + count / BITS_PER_UNIT)); + RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (varop); + MEM_VOLATILE_P (new) = MEM_VOLATILE_P (varop); + MEM_IN_STRUCT_P (new) = MEM_IN_STRUCT_P (varop); varop = gen_rtx_combine (code == ASHIFTRT ? SIGN_EXTEND : ZERO_EXTEND, mode, new); count = 0; |