summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/calls.c5
-rw-r--r--gcc/config/arc/arc.h6
-rw-r--r--gcc/config/arm/arm.h3
-rw-r--r--gcc/config/avr/avr.h2
-rw-r--r--gcc/config/frv/frv.h4
-rw-r--r--gcc/config/i386/i386.h6
-rw-r--r--gcc/config/ip2k/ip2k.h1
-rw-r--r--gcc/config/iq2000/iq2000.h2
-rw-r--r--gcc/config/m32r/m32r.h5
-rw-r--r--gcc/config/m68k/m68k.h3
-rw-r--r--gcc/config/mcore/mcore.h3
-rw-r--r--gcc/config/mips/mips.h5
-rw-r--r--gcc/config/sh/sh.h3
-rw-r--r--gcc/config/stormy16/stormy16.h2
-rw-r--r--gcc/config/xtensa/xtensa.h4
-rw-r--r--gcc/doc/tm.texi6
-rw-r--r--gcc/system.h3
17 files changed, 3 insertions, 60 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 35021ea137f..419f45881a1 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -297,10 +297,7 @@ prepare_call_address (rtx funexp, rtx static_chain_value,
{
#ifndef NO_FUNCTION_CSE
if (optimize && ! flag_no_function_cse)
-#ifdef NO_RECURSIVE_FUNCTION_CSE
- if (fndecl != current_function_decl)
-#endif
- funexp = force_reg (Pmode, funexp);
+ funexp = force_reg (Pmode, funexp);
#endif
}
diff --git a/gcc/config/arc/arc.h b/gcc/config/arc/arc.h
index 18b8f6f9c29..f25e5d369d3 100644
--- a/gcc/config/arc/arc.h
+++ b/gcc/config/arc/arc.h
@@ -951,12 +951,6 @@ arc_select_cc_mode (OP, X, Y)
function address than to call an address kept in a register. */
/* On the ARC, calling through registers is slow. */
#define NO_FUNCTION_CSE
-
-/* Define this macro if it is as good or better for a function to call
- itself with an explicit address than to call an address kept in a
- register. */
-/* On the ARC, calling through registers is slow. */
-#define NO_RECURSIVE_FUNCTION_CSE
/* Section selection. */
/* WARNING: These section names also appear in dwarfout.c. */
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 8241b2cb95e..9981ff03f56 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -2191,9 +2191,6 @@ do { \
#define DEFAULT_SIGNED_CHAR 0
#endif
-/* Don't cse the address of the function being compiled. */
-#define NO_RECURSIVE_FUNCTION_CSE 1
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX 4
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index a78b42be449..6361fbd9034 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -509,8 +509,6 @@ do { \
#define NO_FUNCTION_CSE
-#define NO_RECURSIVE_FUNCTION_CSE
-
#define TEXT_SECTION_ASM_OP "\t.text"
#define DATA_SECTION_ASM_OP "\t.data"
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index 9c62e36ed40..2b53bb8cf09 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -2536,10 +2536,6 @@ __asm__("\n" \
address than to call an address kept in a register. */
#define NO_FUNCTION_CSE
-/* Define this macro if it is as good or better for a function to call itself
- with an explicit address than to call an address kept in a register. */
-#define NO_RECURSIVE_FUNCTION_CSE
-
/* Dividing the output into sections. */
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 846b6e9dbae..2cc64d182a7 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -2646,12 +2646,6 @@ do { \
faster than one with a register address. */
#define NO_FUNCTION_CSE
-
-/* Define this macro if it is as good or better for a function to call
- itself with an explicit address than to call an address kept in a
- register. */
-
-#define NO_RECURSIVE_FUNCTION_CSE
/* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
return the mode to be used for the comparison.
diff --git a/gcc/config/ip2k/ip2k.h b/gcc/config/ip2k/ip2k.h
index a069bf21d18..d78ae7779b1 100644
--- a/gcc/config/ip2k/ip2k.h
+++ b/gcc/config/ip2k/ip2k.h
@@ -598,7 +598,6 @@ do { \
#define SLOW_BYTE_ACCESS 0
#define NO_FUNCTION_CSE
-#define NO_RECURSIVE_FUNCTION_CSE
#define TEXT_SECTION_ASM_OP ".text"
#define DATA_SECTION_ASM_OP ".data"
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 2574dbc8ebb..086db3ba834 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -699,8 +699,6 @@ typedef struct iq2000_args
#define NO_FUNCTION_CSE 1
-#define NO_RECURSIVE_FUNCTION_CSE 1
-
#define ADJUST_COST(INSN,LINK,DEP_INSN,COST) \
if (REG_NOTE_KIND (LINK) != 0) \
(COST) = 0; /* Anti or output dependence. */
diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h
index add59b3c036..82b265b1065 100644
--- a/gcc/config/m32r/m32r.h
+++ b/gcc/config/m32r/m32r.h
@@ -1459,11 +1459,6 @@ L2: .word STATIC
/* Define this macro if it is as good or better to call a constant
function address than to call an address kept in a register. */
#define NO_FUNCTION_CSE
-
-/* Define this macro if it is as good or better for a function to call
- itself with an explicit address than to call an address kept in a
- register. */
-#define NO_RECURSIVE_FUNCTION_CSE
/* Section selection. */
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index 83ff83e3b2e..522f0dc5e4f 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -1364,9 +1364,6 @@ __transfer_from_trampoline () \
/* Define this as 1 if `char' should by default be signed; else as 0. */
#define DEFAULT_SIGNED_CHAR 1
-/* Don't cse the address of the function being compiled. */
-#define NO_RECURSIVE_FUNCTION_CSE
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX 4
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 95805d17f4e..ccae6d945dd 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -909,9 +909,6 @@ extern const enum reg_class reg_class_from_letter[];
/* The type of size_t unsigned int. */
#define SIZE_TYPE "unsigned int"
-/* Don't cse the address of the function being compiled. */
-#define NO_RECURSIVE_FUNCTION_CSE 1
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX 4
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index d426bc4eddc..e22e1699f75 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -1743,11 +1743,6 @@ extern char mips_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER];
function address than to call an address kept in a register. */
#define NO_FUNCTION_CSE 1
-/* Define this macro if it is as good or better for a function to
- call itself with an explicit address than to call an address
- kept in a register. */
-#define NO_RECURSIVE_FUNCTION_CSE 1
-
/* The ABI-defined global pointer. Sometimes we use a different
register in leaf functions: see PIC_OFFSET_TABLE_REGNUM. */
#define GLOBAL_POINTER_REGNUM (GP_REG_FIRST + 28)
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 32cbb2c2438..fb8a16522cb 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -2645,9 +2645,6 @@ struct sh_args {
#define SH_ELF_WCHAR_TYPE "long int"
-/* Don't cse the address of the function being compiled. */
-/*#define NO_RECURSIVE_FUNCTION_CSE 1*/
-
/* Max number of bytes we can move from memory to memory
in one reasonably fast instruction. */
#define MOVE_MAX (TARGET_SHMEDIA ? 8 : 4)
diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h
index be69dcb3304..051914b31d2 100644
--- a/gcc/config/stormy16/stormy16.h
+++ b/gcc/config/stormy16/stormy16.h
@@ -618,8 +618,6 @@ do { \
#define NO_FUNCTION_CSE
-#define NO_RECURSIVE_FUNCTION_CSE
-
/* Dividing the output into sections. */
diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h
index d04560b8c7c..9eb017507a7 100644
--- a/gcc/config/xtensa/xtensa.h
+++ b/gcc/config/xtensa/xtensa.h
@@ -416,10 +416,6 @@ extern char xtensa_hard_regno_mode_ok[][FIRST_PSEUDO_REGISTER];
call an address kept in a register. */
#define NO_FUNCTION_CSE 1
-/* It is as good or better for a function to call itself with an
- explicit address than to call an address kept in a register. */
-#define NO_RECURSIVE_FUNCTION_CSE 1
-
/* Xtensa processors have "register windows". GCC does not currently
take advantage of the possibility for variable-sized windows; instead,
we use a fixed window size of 8. */
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 67f4b7608a4..aee7ba87b7d 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -5429,12 +5429,6 @@ Define this macro if it is as good or better to call a constant
function address than to call an address kept in a register.
@end defmac
-@defmac NO_RECURSIVE_FUNCTION_CSE
-Define this macro if it is as good or better for a function to call
-itself with an explicit address than to call an address kept in a
-register.
-@end defmac
-
@defmac RANGE_TEST_NON_SHORT_CIRCUIT
Define this macro if a non-short-circuit operation produced by
@samp{fold_range_test ()} is optimal. This macro defaults to true if
diff --git a/gcc/system.h b/gcc/system.h
index 56aeb25fa0b..b3d9974599d 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -642,7 +642,8 @@ typedef char _Bool;
FINAL_REG_PARM_STACK_SPACE MAYBE_REG_PARM_STACK_SPACE \
TRADITIONAL_PIPELINE_INTERFACE DFA_PIPELINE_INTERFACE \
DBX_OUTPUT_STANDARD_TYPES BUILTIN_SETJMP_FRAME_VALUE \
- SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY
+ SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY \
+ NO_RECURSIVE_FUNCTION_CSE
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \