OSDN Git Service

* defaults.h (FRAME_POINTER_REQUIRED): Provide default.
authoraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 May 2009 11:25:20 +0000 (11:25 +0000)
committeraesok <aesok@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 3 May 2009 11:25:20 +0000 (11:25 +0000)
* 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.

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

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 0bba7cf..07a84d6 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 4df3640..433823d 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 701223e..7e37113 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 74e5078..05957ea 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 916e406..acbe569 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 ee28bb7..5496640 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 bb28e88..11477c6 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 224491a..bbdc248 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 b6486d9..2737d15 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 285b0e9..9dbb41e 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 24613d6..497c130 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 187fe31..5feae4d 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 a21bc72..c62f6bf 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 51c7edf..5f5006f 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 8780d1b..f8375f1 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 2a73381..675b94d 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 79c293a..b841963 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 53ba930..0be7057 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 3e708cc..4765cf6 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