diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2015-05-19 08:43:17 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2015-05-19 08:43:17 +0000 |
commit | 76e048a8c04e282b8eca52dedf529073ce235f38 (patch) | |
tree | 914852f060e72baf1683626faed452c35fad360e /gcc | |
parent | d0ae0f51fa0dfc1f8dfbc9ea4e51e3389460568c (diff) | |
download | gcc-76e048a8c04e282b8eca52dedf529073ce235f38.zip gcc-76e048a8c04e282b8eca52dedf529073ce235f38.tar.gz gcc-76e048a8c04e282b8eca52dedf529073ce235f38.tar.bz2 |
[calls.c] Remove #ifdef checks on STACK_GROWS_DOWNWARD
* calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
(mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
STACK_GROWS_DOWNWARD as normal if.
(expand_call): Likewise.
From-SVN: r223347
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/calls.c | 33 |
2 files changed, 29 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dd8f5c7..66b0141 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1. + (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef + STACK_GROWS_DOWNWARD as normal if. + (expand_call): Likewise. + 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org> PR target/54236 diff --git a/gcc/calls.c b/gcc/calls.c index 51b896e..d631cc0 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -81,6 +81,15 @@ along with GCC; see the file COPYING3. If not see #include "tree-chkp.h" #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) @@ -1980,11 +1989,12 @@ mem_overlaps_already_clobbered_arg_p (rtx addr, unsigned HOST_WIDE_INT size) return true; else i = INTVAL (val); -#ifdef STACK_GROWS_DOWNWARD - i -= crtl->args.pretend_args_size; -#else - i += crtl->args.pretend_args_size; -#endif + + if (STACK_GROWS_DOWNWARD) + i -= crtl->args.pretend_args_size; + else + i += crtl->args.pretend_args_size; + if (ARGS_GROW_DOWNWARD) i = -i - size; @@ -2914,12 +2924,13 @@ expand_call (tree exp, rtx target, int ignore) if (pass == 0) { argblock = crtl->args.internal_arg_pointer; - argblock -#ifdef STACK_GROWS_DOWNWARD - = plus_constant (Pmode, argblock, crtl->args.pretend_args_size); -#else - = plus_constant (Pmode, argblock, -crtl->args.pretend_args_size); -#endif + if (STACK_GROWS_DOWNWARD) + argblock + = plus_constant (Pmode, argblock, crtl->args.pretend_args_size); + else + argblock + = plus_constant (Pmode, argblock, -crtl->args.pretend_args_size); + stored_args_map = sbitmap_alloc (args_size.constant); bitmap_clear (stored_args_map); } |