diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 8 | ||||
-rw-r--r-- | gcc/explow.c | 3 |
3 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f21b99288c7..20477c40060 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-11-10 Eric Botcazou <ebotcazou@adacore.com> + + PR ada/20548 + * explow.c (probe_stack_range): Fix typo. + * config/sparc/sparc.md (probe_stack): New expander. + 2009-11-09 Dave Korn <dave.korn.cygwin@gmail.com> * config/i386/cygwin.h (LINK_SPEC): Add -tsaware flag if !mno-cygwin. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 516779200a9..caf84437ecf 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -6277,6 +6277,14 @@ "" [(set_attr "length" "0")]) +(define_expand "probe_stack" + [(set (match_operand 0 "memory_operand" "") (const_int 0))] + "" +{ + operands[0] + = adjust_address (operands[0], GET_MODE (operands[0]), SPARC_STACK_BIAS); +}) + ;; Prepare to return any type including a structure value. (define_expand "untyped_return" diff --git a/gcc/explow.c b/gcc/explow.c index 0bbbc003f6d..a887849816b 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -1404,7 +1404,8 @@ probe_stack_range (HOST_WIDE_INT first, rtx size) gen_rtx_fmt_ee (STACK_GROW_OP, Pmode, stack_pointer_rtx, plus_constant (size, first))); - emit_library_call (stack_check_libfunc, LCT_NORMAL, VOIDmode, 1, addr); + emit_library_call (stack_check_libfunc, LCT_NORMAL, VOIDmode, 1, addr, + Pmode); } /* Next see if we have an insn to check the stack. */ |