aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorAndrew Haley <aph@redhat.com>2002-10-01 12:19:36 +0000
committerAndrew Haley <aph@gcc.gnu.org>2002-10-01 12:19:36 +0000
commita646f6ccc1113db8d1faeb1a902b44c1c7774e8c (patch)
tree150e6abd5f8f691ae4cd7d2c2f60135ff3b9682d /gcc/cse.c
parent3f7967e390a7cb0a06527a5ebf8a7f6a040b047b (diff)
downloadgcc-a646f6ccc1113db8d1faeb1a902b44c1c7774e8c.zip
gcc-a646f6ccc1113db8d1faeb1a902b44c1c7774e8c.tar.gz
gcc-a646f6ccc1113db8d1faeb1a902b44c1c7774e8c.tar.bz2
flow.c (insn_dead_p): When using non-call-exceptions, don't eliminate insns that may trap.
2002-09-30 Andrew Haley <aph@redhat.com> * flow.c (insn_dead_p): When using non-call-exceptions, don't eliminate insns that may trap. * cse.c (insn_live_p): Likewise. From-SVN: r57688
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 706fe80..29c771b93 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7582,7 +7582,9 @@ insn_live_p (insn, counts)
int *counts;
{
int i;
- if (GET_CODE (PATTERN (insn)) == SET)
+ if (flag_non_call_exceptions && may_trap_p (insn))
+ return true;
+ else if (GET_CODE (PATTERN (insn)) == SET)
return set_live_p (PATTERN (insn), insn, counts);
else if (GET_CODE (PATTERN (insn)) == PARALLEL)
{