aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@wasabisystems.com>2004-01-23 21:05:21 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2004-01-23 21:05:21 +0000
commite129d93a7b1eda6ee734fff7aa1f8bc60e5ba7e2 (patch)
tree1957c990b77f48c80e149663c064a9f71d8e783a /gcc/target-def.h
parentf6c930a38a5633c4880f572feaddfce14b45951b (diff)
downloadgcc-e129d93a7b1eda6ee734fff7aa1f8bc60e5ba7e2.zip
gcc-e129d93a7b1eda6ee734fff7aa1f8bc60e5ba7e2.tar.gz
gcc-e129d93a7b1eda6ee734fff7aa1f8bc60e5ba7e2.tar.bz2
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
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index 9ff668d..321cd08 100644
--- a/gcc/target-def.h
+++ b/gcc/target-def.h
@@ -1,5 +1,5 @@
/* Default initializers for a generic GCC target.
- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -314,6 +314,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define TARGET_ENCODE_SECTION_INFO default_encode_section_info
#endif
+#define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false
+
+#define TARGET_CC_MODES_COMPATIBLE default_cc_modes_compatible
+
#define TARGET_MACHINE_DEPENDENT_REORG 0
#define TARGET_BUILD_BUILTIN_VA_LIST std_build_builtin_va_list
@@ -380,6 +384,8 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
TARGET_RTX_COSTS, \
TARGET_ADDRESS_COST, \
TARGET_DWARF_REGISTER_SPAN, \
+ TARGET_FIXED_CONDITION_CODE_REGS, \
+ TARGET_CC_MODES_COMPATIBLE, \
TARGET_MACHINE_DEPENDENT_REORG, \
TARGET_BUILD_BUILTIN_VA_LIST, \
TARGET_GET_PCH_VALIDITY, \