[rtl PATCH] PR/37889 and PR/38921, wrong code motion bugs
Andreas Schwab
schwab@suse.de
Thu Feb 5 14:30:00 GMT 2009
Paolo Bonzini <bonzini@gnu.org> writes:
> 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.
This is causing miscompilation of the fortran compiler on ia64.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Gcc-patches
mailing list