[Bug rtl-optimization/17581] [3.4 Regression] Long long arithmetic fails inside a switch/case statement when compiled with -O2
cvs-commit at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Oct 30 18:03:00 GMT 2004
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-10-30 18:03 -------
Subject: Bug 17581
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: sayle@gcc.gnu.org 2004-10-30 18:02:59
Modified files:
gcc : ChangeLog cselib.c gcse.c
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/gcc.dg: pr17581-1.c
Log message:
PR rtl-optimization/17581
* cselib.c (cselib_process_insn): The last instruction of a libcall
block, with the REG_RETVAL note, should be considered in the libcall.
* gcse.c (do_local_cprop): Allow constants to be propagated outside
of libcall blocks.
(adjust_libcall_notes): Use simplify_replace_rtx instead of
replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
* gcc.dg/pr17581-1.c: New test case.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.677&r2=2.2326.2.678
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cselib.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.32.4.6&r2=1.32.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gcse.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.288.2.8&r2=1.288.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.300&r2=1.3389.2.301
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/pr17581-1.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.2.2.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17581
More information about the Gcc-bugs
mailing list