always define STACK_GROWS_DOWNWARD
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>
Fri, 22 May 2015 01:03:11 +0000 (01:03 +0000)
committerTrevor Saunders <tbsaunde@gcc.gnu.org>
Fri, 22 May 2015 01:03:11 +0000 (01:03 +0000)
gcc/c-family/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* c-cppbuiltin.c (c_cpp_builtins): Check the value of
STACK_GROWS_DOWNWARD rather than if it is defined.

gcc/ChangeLog:

2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
is defined.
* config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
* defaults.h: Provide default for STACK_GROWS_DOWNWARD.
* doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
* doc/tm.texi: Regenerate.

From-SVN: r223513

49 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/c-family/ChangeLog
gcc/c-family/c-cppbuiltin.c
gcc/calls.c
gcc/combine-stack-adj.c
gcc/config/alpha/alpha.h
gcc/config/arc/arc.h
gcc/config/avr/avr.h
gcc/config/bfin/bfin.h
gcc/config/c6x/c6x.h
gcc/config/cr16/cr16.h
gcc/config/cris/cris.h
gcc/config/epiphany/epiphany.h
gcc/config/h8300/h8300.h
gcc/config/i386/i386.h
gcc/config/iq2000/iq2000.h
gcc/config/m32r/m32r.h
gcc/config/mcore/mcore.h
gcc/config/microblaze/microblaze.h
gcc/config/mips/mips.h
gcc/config/mmix/mmix.h
gcc/config/mn10300/mn10300.h
gcc/config/moxie/moxie.h
gcc/config/nds32/nds32.h
gcc/config/nios2/nios2.h
gcc/config/nvptx/nvptx.h
gcc/config/pdp11/pdp11.h
gcc/config/rs6000/rs6000.h
gcc/config/s390/s390.h
gcc/config/sh/sh.h
gcc/config/sparc/sparc.h
gcc/config/spu/spu.h
gcc/config/tilegx/tilegx.h
gcc/config/tilepro/tilepro.h
gcc/config/v850/v850.h
gcc/config/vax/vax.h
gcc/config/xtensa/xtensa.h
gcc/defaults.h
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/dwarf2cfi.c
gcc/explow.c
gcc/expr.c
gcc/ira-color.c
gcc/lower-subreg.c
gcc/lra-spills.c
gcc/recog.c
gcc/sched-deps.c

index e5fa370ad4c9cf65298cb06dd28072e0bbbbfbb5..3fadbaf0e4c6016dacc0a4cd448b3eba936db11b 100644 (file)
@@ -1,3 +1,12 @@
+2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
+       is defined.
+       * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
+       * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
+       * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
+       * doc/tm.texi: Regenerate.
+
 2015-05-21  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/66232
index f6012afedaf219d429812eba0fda1d6a4fd369e4..e81ab04ae7a8f0841a864a821e719ae4520fbb12 100644 (file)
@@ -1521,7 +1521,7 @@ expand_builtin_apply_args_1 (void)
 
   /* Save the arg pointer to the block.  */
   tem = copy_to_reg (crtl->args.internal_arg_pointer);
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
   /* We need the pointer as the caller actually passed them to us, not
      as we might have pretended they were passed.  Make sure it's a valid
      operand, as emit_move_insn isn't expected to handle a PLUS.  */
@@ -1613,7 +1613,7 @@ expand_builtin_apply (rtx function, rtx arguments, rtx argsize)
   /* Fetch the arg pointer from the ARGUMENTS block.  */
   incoming_args = gen_reg_rtx (Pmode);
   emit_move_insn (incoming_args, gen_rtx_MEM (Pmode, arguments));
-#ifndef STACK_GROWS_DOWNWARD
+#if !STACK_GROWS_DOWNWARD
   incoming_args = expand_simple_binop (Pmode, MINUS, incoming_args, argsize,
                                       incoming_args, 0, OPTAB_LIB_WIDEN);
 #endif
@@ -1646,7 +1646,7 @@ expand_builtin_apply (rtx function, rtx arguments, rtx argsize)
     crtl->need_drap = true;
 
   dest = virtual_outgoing_args_rtx;
-#ifndef STACK_GROWS_DOWNWARD
+#if !STACK_GROWS_DOWNWARD
   if (CONST_INT_P (argsize))
     dest = plus_constant (Pmode, dest, -INTVAL (argsize));
   else
index 20a73e6d6ff39acf055f0807fb49bffb17425a18..5408a12b24b5fcec18902732987d5901b6d145f6 100644 (file)
@@ -1,3 +1,8 @@
+2015-05-20  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Check the value of
+       STACK_GROWS_DOWNWARD rather than if it is defined.
+
 2015-05-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
        
        PR c/52952
index 60c2d7f38624e67f9b3f92f6d8a30380b91142cd..da9cb2f355c6bc4ef8b44762395e8c4da2d806bc 100644 (file)
@@ -1138,7 +1138,7 @@ c_cpp_builtins (cpp_reader *pfile)
                                     TRAMPOLINE_SIZE);
 
       /* For libgcc generic-morestack.c and unwinder code.  */
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       cpp_define (pfile, "__LIBGCC_STACK_GROWS_DOWNWARD__");
 #endif
 
index 9cd488d175d1a9972c07df1234b4611531a57687..afe61f47d879f49f4a6150162cfe0346ee212453 100644 (file)
@@ -82,14 +82,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "rtl-chkp.h"
 
 
-/* Redefine STACK_GROWS_DOWNWARD in terms of 0 or 1.  */
-#ifdef STACK_GROWS_DOWNWARD
-# undef STACK_GROWS_DOWNWARD
-# define STACK_GROWS_DOWNWARD 1
-#else
-# define STACK_GROWS_DOWNWARD 0
-#endif
-
 /* Like PREFERRED_STACK_BOUNDARY but in units of bytes, not bits.  */
 #define STACK_BYTES (PREFERRED_STACK_BOUNDARY / BITS_PER_UNIT)
 
index 83cdfaefe8d0b86d722173ed3c7635514f8565c8..4d40e4ea06233a15bab8519c251f7c166107922c 100644 (file)
@@ -84,14 +84,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "rtl-iter.h"
 
 \f
-/* Turn STACK_GROWS_DOWNWARD into a boolean.  */
-#ifdef STACK_GROWS_DOWNWARD
-#undef STACK_GROWS_DOWNWARD
-#define STACK_GROWS_DOWNWARD 1
-#else
-#define STACK_GROWS_DOWNWARD 0
-#endif
-
 /* This structure records two kinds of stack references between stack
    adjusting instructions: stack references in memory addresses for
    regular insns and all stack references for debug insns.  */
index 196349df911e9f386cce3ebed61cbdb5a2750373..8d2ab238157fd2098e0f4d390f261d5a73e6f43c 100644 (file)
@@ -564,7 +564,7 @@ extern int alpha_memory_latency;
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index 66965b0f66c7928beca43d6e356d566d1b0a1c2b..4fdd6543415a8ab59f16479030b725a8e596a8a9 100644 (file)
@@ -765,7 +765,7 @@ extern enum reg_class arc_regno_reg_class[];
 
 /* Define this macro if pushing a word onto the stack moves the stack
    pointer to a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this if the nominal address of the stack frame
    is at the high-address end of the local variables;
index d8bee773c6361591373e843a3ecee5004c370769..74399647e0a57372853d57ab8993da1ac670c2eb 100644 (file)
@@ -290,7 +290,7 @@ enum reg_class {
 
 #define STACK_PUSH_CODE POST_DEC
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define STARTING_FRAME_OFFSET avr_starting_frame_offset()
 
index 49cc741cbec47380c70f2c3866089767ba388eca..b0d017ebf5c8fac6c0ecff275974eb2793c1958b 100644 (file)
@@ -233,7 +233,7 @@ extern const char *bfin_library_id_string;
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define STACK_PUSH_CODE PRE_DEC
 
index 9b3fcfbd5e699cb3232b5cf5889a29e529ea3f63..1c304697db2ac72c369b3bd8121391a86be0068e 100644 (file)
@@ -313,7 +313,7 @@ enum reg_class
 #define FIRST_PARM_OFFSET(fundecl) 4
 #define STARTING_FRAME_OFFSET 0
 #define FRAME_GROWS_DOWNWARD 1
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define STACK_POINTER_REGNUM REG_B15
 #define HARD_FRAME_POINTER_REGNUM REG_A15
index e5df6f95330121904af317acaaa8032fd5869221..5767be9f44f9f53c9f613f49f92f639a94941f26 100644 (file)
@@ -368,7 +368,7 @@ enum reg_class
        && GET_CODE (XEXP ((XEXP (OP, 0)), 1)) == CONST_INT))
 
 /* Stack layout and calling conventions.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define STARTING_FRAME_OFFSET   0
 
index cb7baf7147644955ddfd26b59b25fa68f97cab19..aa7dc17f2d9e41b8defa690360ae246cb89d03c3 100644 (file)
@@ -620,7 +620,7 @@ enum reg_class
 
 /* Node: Frame Layout */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 #define FRAME_GROWS_DOWNWARD 1
 
 /* It seems to be indicated in the code (at least 2.1) that this is
index dab368c9cce070e08f4666d40e7a6a7e510a3363..5515edbe9f066f3a07e32226ea180b6a4d5e1930 100644 (file)
@@ -467,7 +467,7 @@ typedef struct GTY (()) machine_function
 
 /* Define this macro if pushing a word onto the stack moves the stack
    pointer to a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index a17d7d56621865f6661947bde8440f4fb21f078a..a829cfa91008b264a3a0ad2027fae7a6b8fa291c 100644 (file)
@@ -360,7 +360,7 @@ enum reg_class {
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index 5279b2d36c3c93358cf744003021533e3323a491..40e8f834e6f51804dd18482966befdd13a8d0ac9 100644 (file)
@@ -1564,7 +1564,7 @@ enum reg_class
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index a10eda3d5eb7d31edbd7ed028d5e5ee3f85d67da..14a68ce40a5f30f787b16a929fd41b32b4f1f219 100644 (file)
@@ -230,7 +230,7 @@ enum reg_class
 \f
 /* Basic Stack Layout.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define FRAME_GROWS_DOWNWARD 0
 
index ee0c447187a5642a04206fe8cff60299af683cdf..66ceae0c1814c681a7e0e8e924a08feb241e049b 100644 (file)
@@ -524,7 +524,7 @@ extern enum reg_class m32r_regno_reg_class[FIRST_PSEUDO_REGISTER];
 
 /* Define this macro if pushing a word onto the stack moves the stack
    pointer to a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Offset from frame pointer to start allocating local variables at.
    If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
index 74860dfefa6e958cd06054730529d29fff833610..0aa96807b71422a897a0fbfeea2e83955fa23569 100644 (file)
@@ -415,7 +415,7 @@ extern const enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD  
+#define STACK_GROWS_DOWNWARD 1
 
 /* Offset within stack frame to start allocating local variables at.
    If FRAME_GROWS_DOWNWARD, this is the offset to the END of the
index fa538485bcb7e1df13a93e81a9afceb42c003422..c832fa0fe93323e3537f38bb32fdaab71bf038a8 100644 (file)
@@ -413,7 +413,7 @@ extern enum reg_class microblaze_regno_to_class[];
 
 /* Stack layout; function entry, exit and calling.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Changed the starting frame offset to including the new link stuff */
 #define STARTING_FRAME_OFFSET                                          \
index b4c6e5f09de5eff7bfadfe2df9b49693f6a87527..bceef31b4a3b6cd99dfc08d5dead926ac5eb15b1 100644 (file)
@@ -2234,7 +2234,7 @@ enum reg_class
 \f
 /* Stack layout; function entry, exit and calling.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define FRAME_GROWS_DOWNWARD flag_stack_protect
 
index 1a17582fb9f263a031617c615565bfcde1506a6e..61ae4d694eb623afc301703131ecd5fed74ada76 100644 (file)
@@ -451,7 +451,7 @@ enum reg_class
 
 /* Node: Frame Layout */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 #define FRAME_GROWS_DOWNWARD 1
 
 #define STARTING_FRAME_OFFSET \
index d41dc4e0aa553ffc67dac00830658faf37df0e98..e5fa70bd7a8508aac708fb80077351352c8159fd 100644 (file)
@@ -404,7 +404,7 @@ enum reg_class
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index 89e6a38ae1e4573cb2c2d24e0fdf702665920263..d20d2140778833cd8186e27987eeaaa28d923bbd 100644 (file)
@@ -247,7 +247,7 @@ enum reg_class
 
 /* Define this macro if pushing a word onto the stack moves the stack
    pointer to a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define INITIAL_FRAME_POINTER_OFFSET(DEPTH) (DEPTH) = 0
 
index 963b3a252a5ba6afacacbe00185e858b945bb99b..dcecea7220807b37987999bd0d7919ff742e6e7b 100644 (file)
@@ -696,7 +696,7 @@ enum reg_class
 \f
 /* Stack Layout and Calling Conventions.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define FRAME_GROWS_DOWNWARD 1
 
index ac339781b6c55d3ac973531c9e7b60e7e3bb917d..45eb70b7cec16b4cf5724d9f2d0c04a047e4148c 100644 (file)
@@ -230,7 +230,7 @@ enum reg_class
 #define TRAMPOLINE_SIZE 20
 
 /* Stack layout.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 #define STARTING_FRAME_OFFSET 0
 #define FIRST_PARM_OFFSET(FUNDECL) 0
 
index 88359062a33ccb447298a451dffbe33070bc3e76..502e43d6fd117566a1f370fc063b06b9d031519c 100644 (file)
@@ -150,7 +150,7 @@ enum reg_class
 
 #define STARTING_FRAME_OFFSET 0
 #define FRAME_GROWS_DOWNWARD 0
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define STACK_POINTER_REGNUM 1
 #define HARD_FRAME_POINTER_REGNUM 2
index a827f3a6a6bcb822e71f2a9c23126021098ce054..1d947f38a9714bd9ae07be09d67822dbb878db4a 100644 (file)
@@ -289,7 +289,7 @@ enum reg_class { NO_REGS, MUL_REGS, GENERAL_REGS, LOAD_FPU_REGS, NO_LOAD_FPU_REG
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index c93c3ce18847d2a2ebe8c3070da6d0e8c8b3ce25..bbecf58d9dfd696e874f5a78983fbb81068960f4 100644 (file)
@@ -1563,7 +1563,7 @@ extern enum reg_class rs6000_constraints[RS6000_CONSTRAINT_MAX];
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Offsets recorded in opcodes are a multiple of this alignment factor.  */
 #define DWARF_CIE_DATA_ALIGNMENT (-((int) (TARGET_32BIT ? 4 : 8)))
index 6ddd8aa2052e86cd78bbcabc9676eab297033195..a9bf9b5b1cbd0418edbc319c0af16e0e7243acba 100644 (file)
@@ -561,7 +561,7 @@ extern const enum reg_class regclass_map[FIRST_PSEUDO_REGISTER];
 /* Our stack grows from higher to lower addresses.  However, local variables
    are accessed by positive offsets, and function arguments are stored at
    increasing addresses.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 #define FRAME_GROWS_DOWNWARD 1
 /* #undef ARGS_GROW_DOWNWARD */
 
index a9b7fa02ef30776da37fd57c8aeab47b8514346f..3078880a69a82c2f0cecb3596a3afc42a5caf7ee 100644 (file)
@@ -1223,7 +1223,7 @@ extern enum reg_class regno_reg_class[FIRST_PSEUDO_REGISTER];
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /*  Define this macro to nonzero if the addresses of local variable slots
     are at negative offsets from the frame pointer.  */
index 2fae9e88dbcc49f5f1122bda1a1ef0f91f14c729..ce1b68b1b442c920ce9334b7504f039bc3a8ed6d 100644 (file)
@@ -1074,7 +1074,7 @@ extern char leaf_reg_remap[];
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index 24d8047f0e67b4a9b7a7e79c19c6b4ea3cc2732d..25fa43563ee628c411f3d3e3449a8c8e6b59d190 100644 (file)
@@ -237,7 +237,7 @@ targetm.resolve_overloaded_builtin = spu_resolve_overloaded_builtin;        \
 \f
 /* Frame Layout */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 #define FRAME_GROWS_DOWNWARD 1
 
index 72a0324fcc1395b46e504284534eb991279d1e81..5fa10b39e394e98f1f7b9e87577ce47f62fe49c4 100644 (file)
@@ -257,7 +257,7 @@ enum reg_class
 
 /* Stack layout; function entry, exit and calling.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 #define FRAME_GROWS_DOWNWARD 1
 #define STARTING_FRAME_OFFSET 0
 
index e1c790d5c093a436716cbb10314995ad9293457e..f2b7b163270fef1eb0fb7f9f045a08b576249f64 100644 (file)
@@ -221,7 +221,7 @@ enum reg_class
 
 /* Stack layout; function entry, exit and calling.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 #define FRAME_GROWS_DOWNWARD 1
 #define STARTING_FRAME_OFFSET 0
 
index 2f0118c4fcc3f2777fb812d939331cd692fe5bb6..e40fd87789a97acb2c932732dfb678d6978f50fa 100644 (file)
@@ -411,7 +411,7 @@ enum reg_class
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index 7c2d8c6b599d878c74bdd5fd8780b2019607b721..0b19014d57f61e46427981bc636e20be5564ea34 100644 (file)
@@ -238,7 +238,7 @@ enum reg_class { NO_REGS, ALL_REGS, LIM_REG_CLASSES };
 
 /* Define this if pushing a word on the stack
    makes the stack pointer a smaller address.  */
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Define this to nonzero if the nominal address of the stack frame
    is at the high-address end of the local variables;
index 011411c09bf66fd6af232eb72605354b1d425b06..615f7412fa74cdc10038fe16a28040457baf5dc3 100644 (file)
@@ -459,7 +459,7 @@ enum reg_class
 
 /* Stack layout; function entry, exit and calling.  */
 
-#define STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 1
 
 /* Offset within stack frame to start allocating local variables at.  */
 #define STARTING_FRAME_OFFSET                                          \
index b3edcc9eff6de062537725be31f614ebee0806e8..a01969a482952da11f6208c233bf4f8d16538b9c 100644 (file)
@@ -1229,6 +1229,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 #define ARGS_GROW_DOWNWARD 0
 #endif
 
+#ifndef STACK_GROWS_DOWNWARD
+#define STACK_GROWS_DOWNWARD 0
+#endif
+
 #ifdef GCC_INSN_FLAGS_H
 /* Dependent default target macro definitions
 
index 3a89eee7933c21bfac9f71d95998e33ad0086190..f2f34978db424d0f259750abed689ed37524ed10 100644 (file)
@@ -2921,12 +2921,8 @@ This describes the stack layout and calling conventions.
 Here is the basic stack layout.
 
 @defmac STACK_GROWS_DOWNWARD
-Define this macro if pushing a word onto the stack moves the stack
-pointer to a smaller address.
-
-When we say, ``define this macro if @dots{}'', it means that the
-compiler checks this macro only with @code{#ifdef} so the precise
-definition used does not matter.
+Define this macro to be true if pushing a word onto the stack moves the stack
+pointer to a smaller address, and false otherwise.
 @end defmac
 
 @defmac STACK_PUSH_CODE
@@ -2941,7 +2937,7 @@ to the last item on the stack or whether it points to the
 space for the next item on the stack.
 
 The default is @code{PRE_DEC} when @code{STACK_GROWS_DOWNWARD} is
-defined, which is almost always right, and @code{PRE_INC} otherwise,
+true, which is almost always right, and @code{PRE_INC} otherwise,
 which is often wrong.
 @end defmac
 
@@ -9038,7 +9034,7 @@ The default size is @code{FIRST_PSEUDO_REGISTER * sizeof(void *)}.
 This macro need only be defined if the target might save registers in the
 function prologue at an offset to the stack pointer that is not aligned to
 @code{UNITS_PER_WORD}.  The definition should be the negative minimum
-alignment if @code{STACK_GROWS_DOWNWARD} is defined, and the positive
+alignment if @code{STACK_GROWS_DOWNWARD} is true, and the positive
 minimum alignment otherwise.  @xref{SDB and DWARF}.  Only applicable if
 the target supports DWARF 2 frame unwind information.
 @end defmac
index e76b8a05e906ad6a3137e8fb63fee21393950347..35b02b7632c174c8e81f5c9180c29cdd0d34c273 100644 (file)
@@ -2527,12 +2527,8 @@ This describes the stack layout and calling conventions.
 Here is the basic stack layout.
 
 @defmac STACK_GROWS_DOWNWARD
-Define this macro if pushing a word onto the stack moves the stack
-pointer to a smaller address.
-
-When we say, ``define this macro if @dots{}'', it means that the
-compiler checks this macro only with @code{#ifdef} so the precise
-definition used does not matter.
+Define this macro to be true if pushing a word onto the stack moves the stack
+pointer to a smaller address, and false otherwise.
 @end defmac
 
 @defmac STACK_PUSH_CODE
@@ -2547,7 +2543,7 @@ to the last item on the stack or whether it points to the
 space for the next item on the stack.
 
 The default is @code{PRE_DEC} when @code{STACK_GROWS_DOWNWARD} is
-defined, which is almost always right, and @code{PRE_INC} otherwise,
+true, which is almost always right, and @code{PRE_INC} otherwise,
 which is often wrong.
 @end defmac
 
@@ -6559,7 +6555,7 @@ The default size is @code{FIRST_PSEUDO_REGISTER * sizeof(void *)}.
 This macro need only be defined if the target might save registers in the
 function prologue at an offset to the stack pointer that is not aligned to
 @code{UNITS_PER_WORD}.  The definition should be the negative minimum
-alignment if @code{STACK_GROWS_DOWNWARD} is defined, and the positive
+alignment if @code{STACK_GROWS_DOWNWARD} is true, and the positive
 minimum alignment otherwise.  @xref{SDB and DWARF}.  Only applicable if
 the target supports DWARF 2 frame unwind information.
 @end defmac
index 7b5cecda1c2495ded645be67bac48360b3df0709..8b8931f1d6869b6db241d067167da2a6d9763a5e 100644 (file)
@@ -944,7 +944,7 @@ notice_args_size (rtx_insn *insn)
 
       /* Convert a change in args_size (always a positive in the
         direction of stack growth) to a change in stack pointer.  */
-#ifndef STACK_GROWS_DOWNWARD
+#if !STACK_GROWS_DOWNWARD
       delta = -delta;
 #endif
       cur_cfa->offset += delta;
@@ -2347,7 +2347,7 @@ maybe_record_trace_start_abnormal (rtx_insn *start, rtx_insn *origin)
     {
       /* Convert a change in args_size (always a positive in the
         direction of stack growth) to a change in stack pointer.  */
-#ifndef STACK_GROWS_DOWNWARD
+#if !STACK_GROWS_DOWNWARD
       delta = -delta;
 #endif
       cur_row->cfa.offset += delta;
index b41feb682666ab86b65ebbc2c0ab92e594ad67f8..39b63ed7e39cf99092b0801c6e9f1b25914a5fa3 100644 (file)
@@ -866,7 +866,7 @@ adjust_stack_1 (rtx adjust, bool anti_p)
   rtx temp;
   rtx_insn *insn;
 
-#ifndef STACK_GROWS_DOWNWARD
+#if !STACK_GROWS_DOWNWARD
   /* Hereafter anti_p means subtract_p.  */
   anti_p = !anti_p;
 #endif
@@ -1414,7 +1414,7 @@ allocate_dynamic_stack_space (rtx size, unsigned size_align,
     {
       int saved_stack_pointer_delta;
 
-#ifndef STACK_GROWS_DOWNWARD
+#if !STACK_GROWS_DOWNWARD
       emit_move_insn (target, virtual_stack_dynamic_rtx);
 #endif
 
@@ -1423,7 +1423,7 @@ allocate_dynamic_stack_space (rtx size, unsigned size_align,
        {
          rtx available;
          rtx_code_label *space_available = gen_label_rtx ();
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
          available = expand_binop (Pmode, sub_optab,
                                    stack_pointer_rtx, stack_limit_rtx,
                                    NULL_RTX, 1, OPTAB_WIDEN);
@@ -1456,7 +1456,7 @@ allocate_dynamic_stack_space (rtx size, unsigned size_align,
         crtl->preferred_stack_boundary alignment.  */
       stack_pointer_delta = saved_stack_pointer_delta;
 
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       emit_move_insn (target, virtual_stack_dynamic_rtx);
 #endif
     }
@@ -1545,7 +1545,7 @@ emit_stack_probe (rtx address)
 
 #define PROBE_INTERVAL (1 << STACK_CHECK_PROBE_INTERVAL_EXP)
 
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
 #define STACK_GROW_OP MINUS
 #define STACK_GROW_OPTAB sub_optab
 #define STACK_GROW_OFF(off) -(off)
index 8d75ef55f23e6e379172f5cb72f8ceacad6e4aac..3d691de6baac0465ce1eb644ff14aa45fb8cf855 100644 (file)
@@ -99,7 +99,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "ccmp.h"
 
 #ifndef STACK_PUSH_CODE
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
 #define STACK_PUSH_CODE PRE_DEC
 #else
 #define STACK_PUSH_CODE PRE_INC
@@ -869,7 +869,7 @@ move_by_pieces (rtx to, rtx from, unsigned HOST_WIDE_INT len,
       to_addr = NULL_RTX;
       data.to = NULL_RTX;
       data.autinc_to = 1;
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       data.reverse = 1;
 #else
       data.reverse = 0;
@@ -3792,11 +3792,7 @@ push_block (rtx size, int extra, int below)
       anti_adjust_stack (temp);
     }
 
-#ifndef STACK_GROWS_DOWNWARD
-  if (0)
-#else
-  if (1)
-#endif
+  if (STACK_GROWS_DOWNWARD)
     {
       temp = virtual_outgoing_args_rtx;
       if (extra != 0 && below)
@@ -4004,7 +4000,7 @@ fixup_args_size_notes (rtx_insn *prev, rtx_insn *last, int end_args_size)
        saw_unknown = true;
 
       add_reg_note (insn, REG_ARGS_SIZE, GEN_INT (args_size));
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       this_delta = -(unsigned HOST_WIDE_INT) this_delta;
 #endif
       args_size -= this_delta;
@@ -4049,7 +4045,7 @@ emit_single_push_insn_1 (machine_mode mode, rtx x, tree type)
 
       emit_move_insn (stack_pointer_rtx,
                      expand_binop (Pmode,
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
                                    sub_optab,
 #else
                                    add_optab,
@@ -4059,7 +4055,7 @@ emit_single_push_insn_1 (machine_mode mode, rtx x, tree type)
                                    NULL_RTX, 0, OPTAB_LIB_WIDEN));
 
       offset = (HOST_WIDE_INT) padding_size;
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       if (STACK_PUSH_CODE == POST_DEC)
        /* We have already decremented the stack pointer, so get the
           previous value.  */
@@ -4075,7 +4071,7 @@ emit_single_push_insn_1 (machine_mode mode, rtx x, tree type)
     }
   else
     {
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       /* ??? This seems wrong if STACK_PUSH_CODE == POST_DEC.  */
       dest_addr = gen_rtx_PLUS (Pmode, stack_pointer_rtx,
                                gen_int_mode (-(HOST_WIDE_INT) rounded_size,
@@ -4168,7 +4164,7 @@ emit_push_insn (rtx x, machine_mode mode, tree type, rtx size,
 {
   rtx xinner;
   enum direction stack_direction
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
     = downward;
 #else
     = upward;
index 47430b015a4ba4e01310384e21912b7d9c64cbd9..4750714d78d074bd12e01ca3b2afc9de6a4cd523 100644 (file)
@@ -3854,14 +3854,6 @@ coalesced_pseudo_reg_freq_compare (const void *v1p, const void *v2p)
    It is used for sorting pseudo registers.  */
 static unsigned int *regno_max_ref_width;
 
-/* Redefine STACK_GROWS_DOWNWARD in terms of 0 or 1.  */
-#ifdef STACK_GROWS_DOWNWARD
-# undef STACK_GROWS_DOWNWARD
-# define STACK_GROWS_DOWNWARD 1
-#else
-# define STACK_GROWS_DOWNWARD 0
-#endif
-
 /* Sort pseudos according their slot numbers (putting ones with
   smaller numbers first, or last when the frame pointer is not
   needed).  */
index 3535a07a5af6d8a30ac39cfad7e69ba3a0a76042..6d2ba2902c65a978a9ee664c74ee18b6752b0201 100644 (file)
@@ -68,13 +68,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "lower-subreg.h"
 #include "rtl-iter.h"
 
-#ifdef STACK_GROWS_DOWNWARD
-# undef STACK_GROWS_DOWNWARD
-# define STACK_GROWS_DOWNWARD 1
-#else
-# define STACK_GROWS_DOWNWARD 0
-#endif
-
 
 /* Decompose multi-word pseudo-registers into individual
    pseudo-registers when possible and profitable.  This is possible
index ed678d5edb45212c1c82eb8e3f2d0edb775ecc87..19ece20d4fa84642d5c81e5322bbf7afeb0321f5 100644 (file)
@@ -230,14 +230,6 @@ regno_freq_compare (const void *v1p, const void *v2p)
   return regno1 - regno2;
 }
 
-/* Redefine STACK_GROWS_DOWNWARD in terms of 0 or 1.  */
-#ifdef STACK_GROWS_DOWNWARD
-# undef STACK_GROWS_DOWNWARD
-# define STACK_GROWS_DOWNWARD 1
-#else
-# define STACK_GROWS_DOWNWARD 0
-#endif
-
 /* Sort pseudos according to their slots, putting the slots in the order
    that they should be allocated.  Slots with lower numbers have the highest
    priority and should get the smallest displacement from the stack or
index b251299ac17fcf4fdf6775a5e3a38cba1eaf99c6..4a7aa67cf9a5a8565ac427e7674be030039f2a2f 100644 (file)
@@ -69,7 +69,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "insn-codes.h"
 
 #ifndef STACK_PUSH_CODE
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
 #define STACK_PUSH_CODE PRE_DEC
 #else
 #define STACK_PUSH_CODE PRE_INC
@@ -77,7 +77,7 @@ along with GCC; see the file COPYING3.  If not see
 #endif
 
 #ifndef STACK_POP_CODE
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
 #define STACK_POP_CODE POST_INC
 #else
 #define STACK_POP_CODE POST_DEC
@@ -1332,7 +1332,7 @@ push_operand (rtx op, machine_mode mode)
          || GET_CODE (XEXP (op, 1)) != PLUS
          || XEXP (XEXP (op, 1), 0) != XEXP (op, 0)
          || !CONST_INT_P (XEXP (XEXP (op, 1), 1))
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
          || INTVAL (XEXP (XEXP (op, 1), 1)) != - (int) rounded_size
 #else
          || INTVAL (XEXP (XEXP (op, 1), 1)) != (int) rounded_size
index 3a10d26311e4bca81d9797e8bc779700881878a7..206da5a55f25b23d833e88c6980dc033e1d063ad 100644 (file)
@@ -4734,7 +4734,7 @@ parse_add_or_inc (struct mem_inc_info *mii, rtx_insn *insn, bool before_mem)
   if (regs_equal && REGNO (SET_DEST (pat)) == STACK_POINTER_REGNUM)
     {
       /* Note that the sign has already been reversed for !before_mem.  */
-#ifdef STACK_GROWS_DOWNWARD
+#if STACK_GROWS_DOWNWARD
       return mii->inc_constant > 0;
 #else
       return mii->inc_constant < 0;