From e129d93a7b1eda6ee734fff7aa1f8bc60e5ba7e2 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 23 Jan 2004 21:05:21 +0000 Subject: re PR target/1532 (-O3 generates (obviously) redundant tests and jumps) PR gcc/1532 * cse.c (cse_change_cc_mode): New static function. (cse_change_cc_mode_insns, cse_cc_succs): Likewise. (cse_condition_code_reg): New function. * rtl.h (cse_condition_code_reg): Declare. * toplev.c (rest_of_handle_cse2): 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): New function. * 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/tm.texi (Condition Code): Document new hooks. From-SVN: r76454 --- gcc/rtl.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/rtl.h') diff --git a/gcc/rtl.h b/gcc/rtl.h index 7fde7ea..f093a00 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -2013,6 +2013,7 @@ extern int cse_main (rtx, int, int, FILE *); #endif extern void cse_end_of_basic_block (rtx, struct cse_basic_block_data *, int, int, int); +extern void cse_condition_code_reg (void); /* In jump.c */ extern int comparison_dominates_p (enum rtx_code, enum rtx_code); -- cgit v1.1