[Bug rtl-optimization/37889] [4.3/4.4 Regression] SEGV, conditional execution proactively executed the false arm.

bonzini at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Feb 4 20:55:00 GMT 2009



------- Comment #18 from bonzini at gnu dot org  2009-02-04 20:54 -------
Subject: Bug 37889

Author: bonzini
Date: Wed Feb  4 20:54:36 2009
New Revision: 143939

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143939
Log:
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.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/loop-invariant.c
    trunk/gcc/rtl.h
    trunk/gcc/rtlanal.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37889



More information about the Gcc-bugs mailing list