diff options
author | Richard Henderson <rth@redhat.com> | 2003-04-17 04:24:04 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-04-17 04:24:04 -0700 |
commit | f2dd0c4231f7efddc1c485847b661f7ccee085b8 (patch) | |
tree | c6441d0d1295e0d196dbc1aecea2c19b7c5dd826 /gcc/config | |
parent | 50d1ff6afc9de67ccea71a481d57d4a6b88befa6 (diff) | |
download | gcc-f2dd0c4231f7efddc1c485847b661f7ccee085b8.zip gcc-f2dd0c4231f7efddc1c485847b661f7ccee085b8.tar.gz gcc-f2dd0c4231f7efddc1c485847b661f7ccee085b8.tar.bz2 |
xtensa.c (xtensa_encode_section_info): Remove.
* config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
(call_insn_operand): Use SYMBOL_REF_LOCAL_P.
* config/xtensa/xtensa.md (call, call_value): Likewise.
From-SVN: r65739
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/xtensa/xtensa.c | 19 | ||||
-rw-r--r-- | gcc/config/xtensa/xtensa.md | 4 |
2 files changed, 4 insertions, 19 deletions
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index f254628..5e7835d 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -203,7 +203,6 @@ static unsigned int xtensa_multibss_section_type_flags PARAMS ((tree, const char *, int)); static void xtensa_select_rtx_section PARAMS ((enum machine_mode, rtx, unsigned HOST_WIDE_INT)); -static void xtensa_encode_section_info PARAMS ((tree, int)); static bool xtensa_rtx_costs PARAMS ((rtx, int, int, int *)); static rtx frame_size_const; @@ -238,8 +237,6 @@ static const int reg_nonleaf_alloc_order[FIRST_PSEUDO_REGISTER] = #undef TARGET_ASM_SELECT_RTX_SECTION #define TARGET_ASM_SELECT_RTX_SECTION xtensa_select_rtx_section -#undef TARGET_ENCODE_SECTION_INFO -#define TARGET_ENCODE_SECTION_INFO xtensa_encode_section_info #undef TARGET_RTX_COSTS #define TARGET_RTX_COSTS xtensa_rtx_costs @@ -596,8 +593,8 @@ call_insn_operand (op, mode) if (CONSTANT_ADDRESS_P (op)) { /* Direct calls only allowed to static functions with PIC. */ - return (!flag_pic || (GET_CODE (op) == SYMBOL_REF - && SYMBOL_REF_FLAG (op))); + return (!flag_pic + || (GET_CODE (op) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (op))); } return FALSE; @@ -2833,18 +2830,6 @@ xtensa_select_rtx_section (mode, x, align) function_section (current_function_decl); } -/* If we are referencing a function that is static, make the SYMBOL_REF - special so that we can generate direct calls to it even with -fpic. */ - -static void -xtensa_encode_section_info (decl, first) - tree decl; - int first ATTRIBUTE_UNUSED; -{ - if (TREE_CODE (decl) == FUNCTION_DECL && ! TREE_PUBLIC (decl)) - SYMBOL_REF_FLAG (XEXP (DECL_RTL (decl), 0)) = 1; -} - /* Compute a (partial) cost for rtx X. Return true if the complete cost has been computed, and false if subexpressions should be scanned. In either case, *TOTAL contains the cost result. */ diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md index cc722b9..7a39cab 100644 --- a/gcc/config/xtensa/xtensa.md +++ b/gcc/config/xtensa/xtensa.md @@ -2291,7 +2291,7 @@ " { rtx addr = XEXP (operands[0], 0); - if (flag_pic && GET_CODE (addr) == SYMBOL_REF && !SYMBOL_REF_FLAG (addr)) + if (flag_pic && GET_CODE (addr) == SYMBOL_REF && !SYMBOL_REF_LOCAL_P (addr)) addr = gen_sym_PLT (addr); if (!call_insn_operand (addr, VOIDmode)) XEXP (operands[0], 0) = copy_to_mode_reg (Pmode, addr); @@ -2316,7 +2316,7 @@ " { rtx addr = XEXP (operands[1], 0); - if (flag_pic && GET_CODE (addr) == SYMBOL_REF && !SYMBOL_REF_FLAG (addr)) + if (flag_pic && GET_CODE (addr) == SYMBOL_REF && !SYMBOL_REF_LOCAL_P (addr)) addr = gen_sym_PLT (addr); if (!call_insn_operand (addr, VOIDmode)) XEXP (operands[1], 0) = copy_to_mode_reg (Pmode, addr); |