* rtlanal.c (may_trap_p): Consider old-style and volatile
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 May 2000 04:58:44 +0000 (04:58 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 9 May 2000 04:58:44 +0000 (04:58 +0000)
        asms to trap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33787 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/rtlanal.c

index 4b7e955..6ad054e 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-08  Richard Henderson  <rth@cygnus.com>
+
+       * rtlanal.c (may_trap_p): Consider old-style and volatile
+       asms to trap.
+
 Mon May  8 17:16:48 2000  Jim Wilson  <wilson@cygnus.com>
 
        * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
index 8a3eb62..891799b 100644 (file)
@@ -1743,11 +1743,14 @@ may_trap_p (x)
     case SCRATCH:
       return 0;
 
-      /* Conditional trap can trap!  */
+    case ASM_INPUT:
     case UNSPEC_VOLATILE:
     case TRAP_IF:
       return 1;
 
+    case ASM_OPERANDS:
+      return MEM_VOLATILE_P (x);
+
       /* Memory ref can trap unless it's a static var or a stack slot.  */
     case MEM:
       return rtx_addr_can_trap_p (XEXP (x, 0));