defaults.h (FRAME_POINTER_REQUIRED): Provide default.

	* 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
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0bba7cf..07a84d6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h
index 4df3640..433823d 100644
--- a/gcc/config/alpha/alpha.h
+++ b/gcc/config/alpha/alpha.h
@@ -475,12 +475,6 @@
 /* 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
 
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index 701223e..7e37113 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -300,12 +300,6 @@
 /* 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
 
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 74e5078..05957ea 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1005,11 +1005,6 @@
 
 /* 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
 
diff --git a/gcc/config/iq2000/iq2000.h b/gcc/config/iq2000/iq2000.h
index 916e406..acbe569 100644
--- a/gcc/config/iq2000/iq2000.h
+++ b/gcc/config/iq2000/iq2000.h
@@ -345,8 +345,6 @@
 
 /* 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},			\
diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h
index ee28bb7..5496640 100644
--- a/gcc/config/m68hc11/m68hc11.h
+++ b/gcc/config/m68hc11/m68hc11.h
@@ -883,12 +883,6 @@
  {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.
 
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h
index bb28e88..11477c6 100644
--- a/gcc/config/m68k/m68k.h
+++ b/gcc/config/m68k/m68k.h
@@ -453,8 +453,6 @@
    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.
diff --git a/gcc/config/mcore/mcore.h b/gcc/config/mcore/mcore.h
index 224491a..bbdc248 100644
--- a/gcc/config/mcore/mcore.h
+++ b/gcc/config/mcore/mcore.h
@@ -303,11 +303,6 @@
 #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
diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h
index b6486d9..2737d15 100644
--- a/gcc/config/mn10300/mn10300.h
+++ b/gcc/config/mn10300/mn10300.h
@@ -491,7 +491,6 @@
 
 /* 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
diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index 285b0e9..9dbb41e 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -246,14 +246,6 @@
 /* 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
 
diff --git a/gcc/config/picochip/picochip.h b/gcc/config/picochip/picochip.h
index 24613d6..497c130 100644
--- a/gcc/config/picochip/picochip.h
+++ b/gcc/config/picochip/picochip.h
@@ -409,9 +409,6 @@
    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}}
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 187fe31..5feae4d 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1027,12 +1027,6 @@
 /* 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
 
diff --git a/gcc/config/s390/s390.h b/gcc/config/s390/s390.h
index a21bc72..c62f6bf 100644
--- a/gcc/config/s390/s390.h
+++ b/gcc/config/s390/s390.h
@@ -644,8 +644,6 @@
 
 /* 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 },		\
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 51c7edf..5f5006f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1262,12 +1262,6 @@
 
 #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
diff --git a/gcc/config/spu/spu.h b/gcc/config/spu/spu.h
index 8780d1b..f8375f1 100644
--- a/gcc/config/spu/spu.h
+++ b/gcc/config/spu/spu.h
@@ -314,8 +314,6 @@
 
 /* Elimination */
 
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS  \
   {{ARG_POINTER_REGNUM,	 STACK_POINTER_REGNUM},				\
   {ARG_POINTER_REGNUM,	 HARD_FRAME_POINTER_REGNUM},			\
diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h
index 2a73381..675b94d 100644
--- a/gcc/config/stormy16/stormy16.h
+++ b/gcc/config/stormy16/stormy16.h
@@ -367,8 +367,6 @@
 
 /* Eliminating the Frame Pointer and the Arg Pointer */
 
-#define FRAME_POINTER_REQUIRED 0
-
 #define ELIMINABLE_REGS					\
 {							\
   {FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM},		\
diff --git a/gcc/config/v850/v850.h b/gcc/config/v850/v850.h
index 79c293ab..b841963 100644
--- a/gcc/config/v850/v850.h
+++ b/gcc/config/v850/v850.h
@@ -506,12 +506,6 @@
 /* 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
diff --git a/gcc/defaults.h b/gcc/defaults.h
index 53ba930..0be7057 100644
--- a/gcc/defaults.h
+++ b/gcc/defaults.h
@@ -969,4 +969,8 @@
 #define GO_IF_MODE_DEPENDENT_ADDRESS(X, WIN)
 #endif
 
+#ifndef FRAME_POINTER_REQUIRED
+#define FRAME_POINTER_REQUIRED false
+#endif
+
 #endif  /* ! GCC_DEFAULTS_H */
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 3e708cc..4765cf6 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -3738,15 +3738,16 @@
 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 @@
 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