From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28760 invoked by alias); 5 Mar 2004 17:56:12 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 28742 invoked by alias); 5 Mar 2004 17:56:11 -0000 Date: Fri, 05 Mar 2004 17:56:00 -0000 Message-ID: <20040305175611.28741.qmail@sources.redhat.com> From: "cvs-commit at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20010101090600.1532.duchier@ps.uni-sb.de> References: <20010101090600.1532.duchier@ps.uni-sb.de> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/1532] [3.3 Regression] -O3 generates (obviously) redundant tests and jumps X-Bugzilla-Reason: CC X-SW-Source: 2004-03/txt/msg00731.txt.bz2 List-Id: ------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-03-05 17:56 ------- Subject: Bug 1532 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_3-branch Changes by: ian@gcc.gnu.org 2004-03-05 17:55:58 Modified files: gcc : ChangeLog Makefile.in cse.c flow.c hooks.c hooks.h rtl.h target-def.h target.h toplev.c gcc/config/i386: i386.c gcc/doc : gccint.texi tm.texi Log message: PR target/1532 Backport from mainline: 2004-02-24 Kazu Hirata * cse.c (cse_change_cc_mode_insns): Stop at any instruction which modifies NEWREG. (cse_condition_code_reg): Update the mode of CC_REG in CC_SRC_INSN on our own. 2004-02-11 Richard Henderson * flow.c (insn_dead_p): A clobber of a dead hard register is a dead insn after reload. 2004-01-24 Ian Lance Taylor * cse.c (cse_cc_succs): Change the mode of the source expression as soon as decide we need a new mode. Don't permit changing modes if we found a match in a successor block. (cse_condition_code_reg): Save original mode of source expression so that we know whether we have to change the mode in other insns. 2004-01-24 Andreas Tobler * cse.c: (cse_cc_succs) Fix comparison warning. 2004-01-23 Ian Lance Taylor * cse.c: Include "target.h". (cse_change_cc_mode): New static function. (cse_change_cc_mode_insns, cse_cc_succs): Likewise. (cse_condition_code_reg): New function. (default_cc_modes_compatible): New function. * rtl.h (cse_condition_code_reg): Declare. (default_cc_modes_compatible): Declare. * toplev.c (rest_of_compilation): Call cse_condition_code_reg. * target.h (struct gcc_target): Add fixed_condition_code_regs and cc_modes_compatible. * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (TARGET_INITIALIZER): Add new initializers. * targhooks.c (default_cc_modes_compatible): Declare. * hooks.c (hook_bool_intp_intp_false): New function. * hooks.h (hook_bool_intp_intp_false): Declare. * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (ix86_fixed_condition_code_regs): New static function. (ix86_cc_modes_compatible): Likewise. * doc/gccint.texi: Add copyright 2004. * doc/tm.texi (Condition Code): Document new hooks. * Makefile.in (cse.o): Depend upon $(TARGET_H). Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.16114.2.919&r2=1.16114.2.920 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.958.2.18&r2=1.958.2.19 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cse.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.244.2.3&r2=1.244.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flow.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.541.2.5&r2=1.541.2.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.8&r2=1.8.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/hooks.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.8&r2=1.8.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.375.2.6&r2=1.375.2.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.38&r2=1.38.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.44&r2=1.44.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.690.2.24&r2=1.690.2.25 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.495.2.33&r2=1.495.2.34 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/gccint.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.5.20.4&r2=1.5.20.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_3-branch&r1=1.182.2.7&r2=1.182.2.8 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1532