defaults.h (FRAME_POINTER_REQUIRED): Provide default.
authorAnatoly Sokolov <aesok@post.ru>
Sun, 3 May 2009 11:25:20 +0000 (15:25 +0400)
committerAnatoly Sokolov <aesok@gcc.gnu.org>
Sun, 3 May 2009 11:25:20 +0000 (15:25 +0400)
* defaults.h (FRAME_POINTER_REQUIRED): Provide default.
* doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
* config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete.
* config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete.
* config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete.
* config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete.
* config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete.
* config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete.
* config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete.
* config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete.
* config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete.
* config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete.
* config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete.
* config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete.
* config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete.
* config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete.
* config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete.
* config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete.

From-SVN: r147072

19 files changed:
gcc/ChangeLog
gcc/config/alpha/alpha.h
gcc/config/h8300/h8300.h
gcc/config/ia64/ia64.h
gcc/config/iq2000/iq2000.h
gcc/config/m68hc11/m68hc11.h
gcc/config/m68k/m68k.h
gcc/config/mcore/mcore.h
gcc/config/mn10300/mn10300.h
gcc/config/pdp11/pdp11.h
gcc/config/picochip/picochip.h
gcc/config/rs6000/rs6000.h
gcc/config/s390/s390.h
gcc/config/sh/sh.h
gcc/config/spu/spu.h
gcc/config/stormy16/stormy16.h
gcc/config/v850/v850.h
gcc/defaults.h
gcc/doc/tm.texi

index 0bba7cf543aa146311db07e5fca5f505cd689aeb..07a84d6e745eccc5c1b5a008db72afd52276fa19 100644 (file)
@@ -1,3 +1,24 @@
+2009-05-03  Anatoly Sokolov  <aesok@post.ru>
+
+       * defaults.h (FRAME_POINTER_REQUIRED): Provide default.
+       * doc/tm.texi (FRAME_POINTER_REQUIRED): Revise documentation.
+       * config/alpha/alpha.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/s390/s390.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/spu/spu.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/sh/sh.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/pdp11/pdp11.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/stormy16/stormy16.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/m68hc11/m68hc11.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/iq2000/iq2000.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/mn10300/mn10300.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/ia64/ia64.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/m68k/m68k.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/rs6000/rs6000.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/picochip/picochip.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/mcore/mcore.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/h8300/h8300.h (FRAME_POINTER_REQUIRED): Delete.
+       * config/v850/v850.h (FRAME_POINTER_REQUIRED): Delete.
+
 2009-05-02  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/39940
index 4df364071ba8a59dd7460f9981ed16f3c77bfc89..433823dbbd04305efb80c5a92cba4e112df9e3fb 100644 (file)
@@ -475,12 +475,6 @@ extern enum alpha_fp_trap_mode alpha_fptm;
 /* Base register for access to local variables of the function.  */
 #define HARD_FRAME_POINTER_REGNUM 15
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms
-   may be accessed via the stack pointer) in functions that seem suitable.
-   This is computed in `reload', in reload1.c.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* Base register for access to arguments of the function.  */
 #define ARG_POINTER_REGNUM 31
 
index 701223e9c25f49e6ac06386e36321cfb205b2fe7..7e3711323aa0392b7fbac312abfb4a5542812675 100644 (file)
@@ -300,12 +300,6 @@ extern const char * const *h8_reg_names;
 /* Base register for access to local variables of the function.  */
 #define FRAME_POINTER_REGNUM FP_REG
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms
-   may be accessed via the stack pointer) in functions that seem suitable.
-   This is computed in `reload', in reload1.c.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* Base register for access to arguments of the function.  */
 #define ARG_POINTER_REGNUM AP_REG
 
index 74e507883267c2236d0431118134e6fe8df1d241..05957ea12db971d6b5dd4c7dd0288dcf522925d8 100644 (file)
@@ -1005,11 +1005,6 @@ enum reg_class
 \f
 /* Eliminating the Frame Pointer and the Arg Pointer */
 
-/* A C expression which is nonzero if a function must have and use a frame
-   pointer.  This expression is evaluated in the reload pass.  If its value is
-   nonzero the function will have a frame pointer.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* Show we can debug even without a frame pointer.  */
 #define CAN_DEBUG_WITHOUT_FP
 
index 916e4060a5ee8268148380009f49ff8bbfded79c..acbe569503fa82c33218a3d45199d6f9c2e778e7 100644 (file)
@@ -345,8 +345,6 @@ enum reg_class
 \f
 /* Eliminating the Frame Pointer and the Arg Pointer.  */
 
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS                                                        \
 {{ ARG_POINTER_REGNUM,   STACK_POINTER_REGNUM},                                \
  { ARG_POINTER_REGNUM,   HARD_FRAME_POINTER_REGNUM},                   \
index ee28bb73eaa4bf1d53058cfd5301ec62fcb83bb5..5496640b040858e0b0f21a0068605299167e54a4 100644 (file)
@@ -883,12 +883,6 @@ extern enum reg_class m68hc11_tmp_regs_class;
  {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM},         \
  {FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM}}
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms may be
-   accessed via the stack pointer) in functions that seem suitable.
-   This is computed in `reload', in reload1.c.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* Given FROM and TO register numbers, say whether this elimination is allowed.
    Frame pointer elimination is automatically handled.
 
index bb28e887aa9ec5edf014a96a97e05a188e77dd87..11477c61ba9dbb53e795cd121fb8926ea83434a9 100644 (file)
@@ -453,8 +453,6 @@ along with GCC; see the file COPYING3.  If not see
    pointer is shifted to %a5 on this target.  */
 #define FRAME_POINTER_REGNUM A6_REG
 
-#define FRAME_POINTER_REQUIRED 0
-
 /* Base register for access to arguments of the function.
  * This isn't a hardware register. It will be eliminated to the
  * stack pointer or frame pointer.
index 224491ab05cff14c2480713e6b74f6d7493f29e6..bbdc24811b8984a199aa56d2f72af6a173405202 100644 (file)
@@ -303,11 +303,6 @@ extern int mcore_stack_increment;
 #define MODES_TIEABLE_P(MODE1, MODE2) \
   ((MODE1) == (MODE2) || GET_MODE_CLASS (MODE1) == GET_MODE_CLASS (MODE2))
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms may be accessed
-   via the stack pointer) in functions that seem suitable.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* Definitions for register eliminations.
 
    We have two registers that can be eliminated on the MCore.  First, the
index b6486d9cf699e2000a5e015c63dc36023bc674b2..2737d15345cf61c6b36395598b37cce019890293 100644 (file)
@@ -491,7 +491,6 @@ enum reg_class {
 
 /* We can debug without frame pointers on the mn10300, so eliminate
    them whenever possible.  */
-#define FRAME_POINTER_REQUIRED 0
 #define CAN_DEBUG_WITHOUT_FP
 
 /* Value is the number of bytes of arguments automatically
index 285b0e9cd6b5dc6718dc337cf673affd10c4598e..9dbb41eb7c12d854c05c87cd2f770c7617bf9ea7 100644 (file)
@@ -246,14 +246,6 @@ extern const struct real_format pdp11_d_format;
 /* Base register for access to local variables of the function.  */
 #define FRAME_POINTER_REGNUM 5
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms
-   may be accessed via the stack pointer) in functions that seem suitable.
-   This is computed in `reload', in reload1.c.
-  */
-
-#define FRAME_POINTER_REQUIRED 0
-
 /* Base register for access to arguments of the function.  */
 #define ARG_POINTER_REGNUM 5
 
index 24613d634d79d68cb6028111ffc273da68bc936b..497c1307839c4656bc4b3e5103449167f99cb9d3 100644 (file)
@@ -409,9 +409,6 @@ extern const enum reg_class picochip_regno_reg_class[FIRST_PSEUDO_REGISTER];
    pointers are eliminated wherever possible, by replacing them with
    offsets from the stack pointer. */
 
-/* We want to get rid of the frame pointer.  */
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS                                                \
   {{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM},                         \
    {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM}}
index 187fe31e34f496a455ecaa8b7f5d132b67950ee8..5feae4d0db958f91138c6b14e69307f4f367c37f 100644 (file)
@@ -1027,12 +1027,6 @@ extern int rs6000_xilinx_fpu;
 /* Base register for access to local variables of the function.  */
 #define FRAME_POINTER_REGNUM 113
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms
-   may be accessed via the stack pointer) in functions that seem suitable.
-   This is computed in `reload', in reload1.c.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* Base register for access to arguments of the function.  */
 #define ARG_POINTER_REGNUM 67
 
index a21bc727aabec1af554e27b7ea99f66e462a2a19..c62f6bfa62101208c8e1731931e93aef44cc1e6c 100644 (file)
@@ -644,8 +644,6 @@ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER];
 
 /* Frame pointer and argument pointer elimination.  */
 
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS                                                \
 {{ FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM },               \
  { FRAME_POINTER_REGNUM, HARD_FRAME_POINTER_REGNUM },          \
index 51c7edfa2b24022498fe18627b19072e5830ac0e..5f5006f7ff49cdb4ab9d7ba50241fef56bacfab0 100644 (file)
@@ -1262,12 +1262,6 @@ extern char sh_additional_register_names[ADDREGNAMES_SIZE] \
 
 #define GOT_SYMBOL_NAME "*_GLOBAL_OFFSET_TABLE_"
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms may be accessed
-   via the stack pointer) in functions that seem suitable.  */
-
-#define FRAME_POINTER_REQUIRED 0
-
 /* Definitions for register eliminations.
 
    We have three registers that can be eliminated on the SH.  First, the
index 8780d1b90020ebeb285c0f9276e307d629a030d9..f8375f18c820c01285c5d973531cc20508f88777 100644 (file)
@@ -314,8 +314,6 @@ targetm.resolve_overloaded_builtin = spu_resolve_overloaded_builtin;        \
 \f
 /* Elimination */
 
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS  \
   {{ARG_POINTER_REGNUM,         STACK_POINTER_REGNUM},                         \
   {ARG_POINTER_REGNUM,  HARD_FRAME_POINTER_REGNUM},                    \
index 2a7338106ee3a9ee0dd12f47111b3859e5448319..675b94d9949d3856aa3eeac3a6acd2271617a63a 100644 (file)
@@ -367,8 +367,6 @@ enum reg_class
 \f
 /* Eliminating the Frame Pointer and the Arg Pointer */
 
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS                                        \
 {                                                      \
   {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM},                \
index 79c293ab629232ae1e3bbb960fac0f62d48db1ce..b841963bd2bea535f867ce0257bb3f9e21bf98c4 100644 (file)
@@ -506,12 +506,6 @@ enum reg_class
 /* Register in which static-chain is passed to a function.  */
 #define STATIC_CHAIN_REGNUM 20
 
-/* Value should be nonzero if functions must have frame pointers.
-   Zero means the frame pointer need not be set up (and parms
-   may be accessed via the stack pointer) in functions that seem suitable.
-   This is computed in `reload', in reload1.c.  */
-#define FRAME_POINTER_REQUIRED 0
-
 /* If defined, this macro specifies a table of register pairs used to
    eliminate unneeded registers that point into the stack frame.  If
    it is not defined, the only elimination attempted by the compiler
index 53ba930fff2de85bfa6fe7eff89b7e326b7e3116..0be7057fd31c1d3e559eeba9bce56e102f96caf0 100644 (file)
@@ -969,4 +969,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define GO_IF_MODE_DEPENDENT_ADDRESS(X, WIN)
 #endif
 
+#ifndef FRAME_POINTER_REQUIRED
+#define FRAME_POINTER_REQUIRED false
+#endif
+
 #endif  /* ! GCC_DEFAULTS_H */
index 3e708ccf88242e65b3c5d07be340993168543828..4765cf6401aa83fc56559fa9bcd594c93f8e15b4 100644 (file)
@@ -3738,15 +3738,16 @@ return @code{@var{regno}}.
 This is about eliminating the frame pointer and arg pointer.
 
 @defmac FRAME_POINTER_REQUIRED
-A C expression which is nonzero if a function must have and use a frame
+A C expression which is @code{true} if a function must have and use a frame
 pointer.  This expression is evaluated  in the reload pass.  If its value is
-nonzero the function will have a frame pointer.
+@code{true} the function will have a frame pointer.
 
 The expression can in principle examine the current function and decide
-according to the facts, but on most machines the constant 0 or the
-constant 1 suffices.  Use 0 when the machine allows code to be generated
-with no frame pointer, and doing so saves some time or space.  Use 1
-when there is no possible advantage to avoiding a frame pointer.
+according to the facts, but on most machines the constant @code{false} or the
+constant @code{true} suffices.  Use @code{false} when the machine allows code
+to be generated with no frame pointer, and doing so saves some time or space.
+Use @code{true} when there is no possible advantage to avoiding a frame
+pointer.
 
 In certain cases, the compiler does not know how to produce valid code
 without a frame pointer.  The compiler recognizes those cases and
@@ -3757,6 +3758,8 @@ them.
 In a function that does not require a frame pointer, the frame pointer
 register can be allocated for ordinary usage, unless you mark it as a
 fixed register.  See @code{FIXED_REGISTERS} for more information.
+
+Default value is @code{false}.
 @end defmac
 
 @findex get_frame_size