re PR rtl-optimization/37889 (SEGV, conditional execution proactively executed the...
commit48e8382e95ddc134f5f3c577b87558f11ad8ebeb
authorPaolo Bonzini <bonzini@gnu.org>
Wed, 4 Feb 2009 20:54:36 +0000 (4 20:54 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Wed, 4 Feb 2009 20:54:36 +0000 (4 20:54 +0000)
tree18492e6dd523a8d915f6d21a6db7b043ec15a9dd
parent69349ea551c84f1a40c8cb51342ea8075eece875
re PR rtl-optimization/37889 (SEGV, conditional execution proactively executed the false arm.)

2009-02-04  Paolo Bonzini  <bonzini@gnu.org>
    Hans-Peter Nilsson  <hp@axis.com>

PR rtl-optimization/37889
* rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
Move offset handling from PLUS to before the switch.  Use new
arguments when considering SYMBOL_REFs too.
(rtx_addr_can_trap_p): Pass dummy offset and size.
(enum may_trap_p_flags): Remove.
(may_trap_p_1): Pass size from MEM_SIZE.

PR rtl-optimization/38921
* loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
* rtl.h (may_trap_after_code_motion_p): Delete prototype.
* rtlanal.c (may_trap_after_code_motion_p): Delete.
(may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.

Co-Authored-By: Hans-Peter Nilsson <hp@axis.com>
From-SVN: r143939
gcc/ChangeLog
gcc/loop-invariant.c
gcc/rtl.h
gcc/rtlanal.c