system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 21 May 2004 01:03:20 +0000 (01:03 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 21 May 2004 01:03:20 +0000 (01:03 +0000)
* system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
* 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.

From-SVN: r82084

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 35021ea137fae1cbd26ced7b9748f2b64925217a..419f45881a18c97ba057d99bf70fabe30aa5160f 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 18b8f6f9c292ec332b8e59939d3dab758e1ea74f..f25e5d369d3ec96cb76f0ddea5bd067467c60f77 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 8241b2cb95ee7cd1fd80065d6c13bf7f09431191..9981ff03f567f762747d9a40a09f0bea9e76d8c2 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 a78b42be449980d46edd65ddd26a2ff5cf7ddabf..6361fbd90348a33b775772d2e38e125cb773f66b 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 9c62e36ed4009cfd667857e5768d10df5033d766..2b53bb8cf091c844a31768dd4280b568e477cf06 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 846b6e9dbaef488026dafe153d4cc2f1c82f380b..2cc64d182a7b3c29c7648362292d689d9041bf7b 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 a069bf21d183241362125e3bfb27a385290a36f6..d78ae7779b1b44d9bb36ad75e7c489949f56970b 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 2574dbc8ebb90db17307baaf769f6263f660a013..086db3ba8348268e6c09758fec82721c73b344a9 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 add59b3c036e5f7c26e49228c75b0c3713b9a1a2..82b265b10652fb13a9eb69ab96af7922f4f6f087 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 83ff83e3b2e9388834f079763f1223decf48d32b..522f0dc5e4fd08cf0c3170c85c9e4410c430ea86 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 95805d17f4e2df8d8fc65a0eafd33363cb26d0bf..ccae6d945dd4029a02290665c056225b9f5cdf50 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 d426bc4eddc7cbb9751da4e712d7563430ac5a08..e22e1699f75b3fc8d1a9779bc0d5754a856839c0 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 32cbb2c24383201e212b94b57fddc2ec2be5add3..fb8a16522cb126650e150ed5236cbbbc4057685e 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 be69dcb3304ae413c08bc73688980a66055ed8d9..051914b31d2b49f5e0df8a396369940017ed8d1a 100644 (file)
@@ -618,8 +618,6 @@ do {                                                        \
 
 #define NO_FUNCTION_CSE
 
-#define NO_RECURSIVE_FUNCTION_CSE
-
 \f
 /* Dividing the output into sections.  */
 
index d04560b8c7c23eac7fb1bc3b1ca4609d8f1f27c7..9eb017507a745642933fb568d039692813fa8132 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 67f4b7608a49ce444245c84341eaa6996ed3412e..aee7ba87b7da872a8a79f12727c44d5111bfaf90 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 56aeb25fa0b0b9885f3132a2818061c8c719a6db..b3d9974599d70c927b7eed332aaf8f01426bfe54 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  \