* system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 May 2004 01:03:20 +0000 (01:03 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 May 2004 01:03:20 +0000 (01:03 +0000)
* calls.c (prepare_call_address): Don't test
NO_RECURSIVE_FUNCTION_CSE.
* config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
* config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
Likewise.
* config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
* config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
* doc/tm.texi (Costs): Remove documentation for
NO_RECURSIVE_FUNCTION_CSE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82084 138bc75d-0d04-0410-961f-82ee72b054a4

17 files changed:
gcc/calls.c
gcc/config/arc/arc.h
gcc/config/arm/arm.h
gcc/config/avr/avr.h
gcc/config/frv/frv.h
gcc/config/i386/i386.h
gcc/config/ip2k/ip2k.h
gcc/config/iq2000/iq2000.h
gcc/config/m32r/m32r.h
gcc/config/m68k/m68k.h
gcc/config/mcore/mcore.h
gcc/config/mips/mips.h
gcc/config/sh/sh.h
gcc/config/stormy16/stormy16.h
gcc/config/xtensa/xtensa.h
gcc/doc/tm.texi
gcc/system.h

index 35021ea..419f458 100644 (file)
@@ -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
     }
 
index 18b8f6f..f25e5d3 100644 (file)
@@ -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
 \f
 /* Section selection.  */
 /* WARNING: These section names also appear in dwarfout.c.  */
index 8241b2c..9981ff0 100644 (file)
@@ -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
index a78b42b..6361fbd 100644 (file)
@@ -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"
index 9c62e36..2b53bb8 100644 (file)
@@ -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
-
 \f
 /* Dividing the output into sections.  */
 
index 846b6e9..2cc64d1 100644 (file)
@@ -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
 \f
 /* Given a comparison code (EQ, NE, etc.) and the first operand of a COMPARE,
    return the mode to be used for the comparison.
index a069bf2..d78ae77 100644 (file)
@@ -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"
index 2574dbc..086db3b 100644 (file)
@@ -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.  */
index add59b3..82b265b 100644 (file)
@@ -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
 \f
 /* Section selection.  */
 
index 83ff83e..522f0dc 100644 (file)
@@ -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
index 95805d1..ccae6d9 100644 (file)
@@ -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
index d426bc4..e22e169 100644 (file)
@@ -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)
index 32cbb2c..fb8a165 100644 (file)
@@ -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)
index be69dcb..051914b 100644 (file)
@@ -618,8 +618,6 @@ do {                                                        \
 
 #define NO_FUNCTION_CSE
 
-#define NO_RECURSIVE_FUNCTION_CSE
-
 \f
 /* Dividing the output into sections.  */
 
index d04560b..9eb0175 100644 (file)
@@ -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.  */
index 67f4b76..aee7ba8 100644 (file)
@@ -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
index 56aeb25..b3d9974 100644 (file)
@@ -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  \