Hi, The attached patch removes the 'high_life_started' macro and replaces its use with 'reload_in_progress'.
Tested with 'make all-gcc'. OK? Cheers, Oleg ChangeLog: * config/sh/sh.h (high_life_started): Remove * config/sh/predicates.md (general_movdst_operand): Use 'reload_in_progress' instead of 'high_life_started'. * config/sh/sh.md (divsi_inv_call, *divsi_inv_call_combine, divsi_inv_fp): Likewise.
Index: gcc/config/sh/predicates.md =================================================================== --- gcc/config/sh/predicates.md (revision 186182) +++ gcc/config/sh/predicates.md (working copy) @@ -453,7 +453,7 @@ return 0; if (mode == DImode && TARGET_SHMEDIA && GET_CODE (op) == SUBREG && GET_MODE_SIZE (GET_MODE (SUBREG_REG (op))) < 8 - && ! (high_life_started || reload_completed)) + && ! (reload_in_progress || reload_completed)) return 0; if ((mode == QImode || mode == HImode) Index: gcc/config/sh/sh.h =================================================================== --- gcc/config/sh/sh.h (revision 186182) +++ gcc/config/sh/sh.h (working copy) @@ -2482,7 +2482,4 @@ 2:\n" TEXT_SECTION_ASM_OP); #endif /* (defined CRT_BEGIN || defined CRT_END) && ! __SHMEDIA__ */ -/* FIXME: middle-end support for highpart optimizations is missing. */ -#define high_life_started reload_in_progress - #endif /* ! GCC_SH_H */ Index: gcc/config/sh/sh.md =================================================================== --- gcc/config/sh/sh.md (revision 186184) +++ gcc/config/sh/sh.md (working copy) @@ -1991,7 +1991,7 @@ (use (match_operand:SI 3 "register_operand" "r"))] "TARGET_SHMEDIA" "#" - "&& (high_life_started || reload_completed)" + "&& (reload_in_progress || reload_completed)" [(set (match_dup 0) (match_dup 3))] "" [(set_attr "highpart" "must_split")]) @@ -2021,7 +2021,7 @@ UNSPEC_DIV_INV_M3))] "TARGET_SHMEDIA" "#" - "&& (high_life_started || reload_completed)" + "&& (reload_in_progress || reload_completed)" [(pc)] { const char *name = sh_divsi3_libfunc; @@ -2643,7 +2643,7 @@ (clobber (match_operand:DF 8 "register_operand" "=r"))] "TARGET_SHMEDIA_FPU" "#" - "&& (high_life_started || reload_completed)" + "&& (reload_in_progress || reload_completed)" [(set (match_dup 0) (match_dup 3))] "" [(set_attr "highpart" "must_split")])