diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-23 21:05:21 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-23 21:05:21 +0000 |
commit | 124ac4e4e3be031b5d9e0d9c855684053af1bf22 (patch) | |
tree | 1957c990b77f48c80e149663c064a9f71d8e783a /gcc/targhooks.c | |
parent | a3278934c71197997b32261f7e782730fcf5162a (diff) | |
download | gcc-124ac4e4e3be031b5d9e0d9c855684053af1bf22.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76454 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/targhooks.c')
-rw-r--r-- | gcc/targhooks.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/targhooks.c b/gcc/targhooks.c index eaed481e4f4..308ada6057c 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -70,6 +70,14 @@ default_external_libcall (rtx fun ATTRIBUTE_UNUSED) #endif } +enum machine_mode +default_cc_modes_compatible (enum machine_mode m1, enum machine_mode m2) +{ + if (m1 == m2) + return m1; + return VOIDmode; +} + bool default_promote_function_args (tree fntype ATTRIBUTE_UNUSED) { |