+2003-04-17 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.c (sparc_encode_section_info): Remove.
+ (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
+ (text_segment_operand): Likewise.
+
2003-04-17 Richard Henderson <rth@redhat.com>
* config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
static void emit_soft_tfmode_cvt PARAMS ((enum rtx_code, rtx *));
static void emit_hard_tfmode_operation PARAMS ((enum rtx_code, rtx *));
-static void sparc_encode_section_info PARAMS ((tree, int));
static bool sparc_function_ok_for_sibcall PARAMS ((tree, tree));
static void sparc_output_mi_thunk PARAMS ((FILE *, tree, HOST_WIDE_INT,
HOST_WIDE_INT, tree));
#undef TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD
#define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD sparc_use_sched_lookahead
-#undef TARGET_ENCODE_SECTION_INFO
-#define TARGET_ENCODE_SECTION_INFO sparc_encode_section_info
-
#undef TARGET_FUNCTION_OK_FOR_SIBCALL
#define TARGET_FUNCTION_OK_FOR_SIBCALL sparc_function_ok_for_sibcall
switch (GET_CODE (op))
{
case SYMBOL_REF :
- return ! SYMBOL_REF_FLAG (op);
+ return ! SYMBOL_REF_FUNCTION_P (op);
case PLUS :
/* Assume canonical format of symbol + constant.
Fall through. */
case LABEL_REF :
return 1;
case SYMBOL_REF :
- return SYMBOL_REF_FLAG (op);
+ return SYMBOL_REF_FUNCTION_P (op);
case PLUS :
/* Assume canonical format of symbol + constant.
Fall through. */
}
}
-/* If we are referencing a function make the SYMBOL_REF special. In
- the Embedded Medium/Anywhere code model, %g4 points to the data
- segment so we must not add it to function addresses. */
-
-static void
-sparc_encode_section_info (decl, first)
- tree decl;
- int first ATTRIBUTE_UNUSED;
-{
- if (TARGET_CM_EMBMEDANY && TREE_CODE (decl) == FUNCTION_DECL)
- SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1;
-}
-
/* Output code to add DELTA to the first argument, and then jump to FUNCTION.
Used for C++ multiple inheritance. */