]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/hooks.c
re PR target/1532 (-O3 generates (obviously) redundant tests and jumps)
authorIan Lance Taylor <ian@wasabisystems.com>
Fri, 23 Jan 2004 21:05:21 +0000 (21:05 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 23 Jan 2004 21:05:21 +0000 (21:05 +0000)
commite129d93a7b1eda6ee734fff7aa1f8bc60e5ba7e2
tree1957c990b77f48c80e149663c064a9f71d8e783a
parentf6c930a38a5633c4880f572feaddfce14b45951b
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
12 files changed:
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/cse.c
gcc/doc/tm.texi
gcc/hooks.c
gcc/hooks.h
gcc/rtl.h
gcc/target-def.h
gcc/target.h
gcc/targhooks.c
gcc/targhooks.h
gcc/toplev.c