summaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-03 11:31:46 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-03 11:31:46 +0000
commitbe39cc681bdcfbfd087e5eeedf1b63301ec4a921 (patch)
tree87ae1ad1b8a8da523947e3595cfa9bb3f01d51df /gcc/rtlanal.c
parentff7e61cf8f08808487787c1c88569c9170b26eda (diff)
downloadgcc-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.c4
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));