diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-03 11:31:46 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-11-03 11:31:46 +0000 |
commit | be39cc681bdcfbfd087e5eeedf1b63301ec4a921 (patch) | |
tree | 87ae1ad1b8a8da523947e3595cfa9bb3f01d51df /gcc/rtlanal.c | |
parent | ff7e61cf8f08808487787c1c88569c9170b26eda (diff) | |
download | gcc-be39cc681bdcfbfd087e5eeedf1b63301ec4a921.tar.gz |
PR rtl-optimization/23585
* rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
that can't trap plus a constant integer, if the mode has zero size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106427 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r-- | gcc/rtlanal.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 594b2e47f64..69488512f49 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -267,7 +267,9 @@ rtx_addr_can_trap_p_1 (rtx x, enum machine_mode mode, bool unaligned_mems) { HOST_WIDE_INT offset; - if (!STRICT_ALIGNMENT || !unaligned_mems) + if (!STRICT_ALIGNMENT + || !unaligned_mems + || GET_MODE_SIZE (mode) == 0) return 0; offset = INTVAL (XEXP (x, 1)); |