PR ada/20548
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Nov 2009 11:23:54 +0000 (11:23 +0000)
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Nov 2009 11:23:54 +0000 (11:23 +0000)
* explow.c (probe_stack_range): Fix typo.
* config/sparc/sparc.md (probe_stack): New expander.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154061 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sparc/sparc.md
gcc/explow.c

index f21b992..20477c4 100644 (file)
@@ -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.
index 5167792..caf8443 100644 (file)
   ""
   [(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"
index 0bbbc00..a887849 100644 (file)
@@ -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.  */