Commit d60eab50 by Alexandre Oliva Committed by Jeff Law

calls.c (check_sibcall_argument_overlap_1): Adjust for ARGS_GROW_DOWNWARD.

        * calls.c (check_sibcall_argument_overlap_1): Adjust for
        ARGS_GROW_DOWNWARD.
        (check_sibcall_argument_overlap): Likewise.

From-SVN: r35887
parent 9861b0c9
...@@ -26,6 +26,10 @@ ...@@ -26,6 +26,10 @@
2000-08-22 Alexandre Oliva <aoliva@redhat.com> 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
* calls.c (check_sibcall_argument_overlap_1): Adjust for
ARGS_GROW_DOWNWARD.
(check_sibcall_argument_overlap): Likewise.
* invoke.texi (SH Options): Document -m4-nofpu, * invoke.texi (SH Options): Document -m4-nofpu,
-m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd, -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
-mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace. -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
......
...@@ -1974,6 +1974,10 @@ check_sibcall_argument_overlap_1 (x) ...@@ -1974,6 +1974,10 @@ check_sibcall_argument_overlap_1 (x)
else else
return 0; return 0;
#ifdef ARGS_GROW_DOWNWARD
i = -i - GET_MODE_SIZE (GET_MODE (x));
#endif
for (k = 0; k < GET_MODE_SIZE (GET_MODE (x)); k++) for (k = 0; k < GET_MODE_SIZE (GET_MODE (x)); k++)
if (i + k < stored_args_map->n_bits if (i + k < stored_args_map->n_bits
&& TEST_BIT (stored_args_map, i + k)) && TEST_BIT (stored_args_map, i + k))
...@@ -2025,7 +2029,12 @@ check_sibcall_argument_overlap (insn, arg) ...@@ -2025,7 +2029,12 @@ check_sibcall_argument_overlap (insn, arg)
check_sibcall_argument_overlap_1 (PATTERN (insn))) check_sibcall_argument_overlap_1 (PATTERN (insn)))
break; break;
#ifdef ARGS_GROW_DOWNWARD
low = -arg->offset.constant - arg->size.constant;
#else
low = arg->offset.constant; low = arg->offset.constant;
#endif
for (high = low + arg->size.constant; low < high; low++) for (high = low + arg->size.constant; low < high; low++)
SET_BIT (stored_args_map, low); SET_BIT (stored_args_map, low);
return insn != NULL_RTX; return insn != NULL_RTX;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment