aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@bitrange.com>2005-01-21 02:14:25 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2005-01-21 02:14:25 +0000
commit3eacd71fc13ee261874cb57705c3f2892b71be3e (patch)
treead0b7c7347cbfef576d3024b84271c85ad3e824b /gcc/combine.c
parenteacf8912b70e813e987afeb5ea2b604243487090 (diff)
downloadgcc-3eacd71fc13ee261874cb57705c3f2892b71be3e.zip
gcc-3eacd71fc13ee261874cb57705c3f2892b71be3e.tar.gz
gcc-3eacd71fc13ee261874cb57705c3f2892b71be3e.tar.bz2
re PR target/18701 (mmix-knuth-mmixware gcc.c-torture/execute failures: 20010224-1.c, 20020216-1.c, 20040218-1.c, 20040709-2.c)
PR target/18701 * combine.c (combine_simplify_rtx): Revert change of 2004-12-31. From-SVN: r94005
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 984c45e..dca4d97 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3984,14 +3984,10 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int in_dest)
}
/* Don't change the mode of the MEM if that would change the meaning
- of the address. Similarly, don't allow widening, as that may
- access memory outside the defined object or using an address
- that is invalid for a wider mode. */
+ of the address. */
if (MEM_P (SUBREG_REG (x))
&& (MEM_VOLATILE_P (SUBREG_REG (x))
- || mode_dependent_address_p (XEXP (SUBREG_REG (x), 0))
- || (GET_MODE_SIZE (mode)
- > GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))))))
+ || mode_dependent_address_p (XEXP (SUBREG_REG (x), 0))))
return gen_rtx_CLOBBER (mode, const0_rtx);
/* Note that we cannot do any narrowing for non-constants since