aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2010-07-02 21:25:28 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2010-07-02 21:25:28 +0000
commit260c8ba389c4a31a7a4d7cfe0fc55492b2f1b74f (patch)
tree07029562f5d29447aaea45407baa8ff6842f7694 /gcc/expr.h
parent8c54dc55ef8e29da0f1cd3836dbbe705239c415e (diff)
downloadgcc-260c8ba389c4a31a7a4d7cfe0fc55492b2f1b74f.zip
gcc-260c8ba389c4a31a7a4d7cfe0fc55492b2f1b74f.tar.gz
gcc-260c8ba389c4a31a7a4d7cfe0fc55492b2f1b74f.tar.bz2
expr.h (emit_stack_probe): Declare.
* expr.h (emit_stack_probe): Declare. * explow.c (emit_stack_probe): Make global. (anti_adjust_stack_and_probe): Fix comments. * config/sparc/linux.h (STACK_CHECK_STATIC_BUILTIN): Define to 1. * config/sparc/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/sparc/sol2.h (STACK_CHECK_STATIC_BUILTIN): Likewise. * config/sparc/sparc.c: Include except.h. (sparc_emit_probe_stack_range): New function. (output_probe_stack_range): Likewise. (sparc_expand_prologue): Invoke sparc_emit_probe_stack_range if static built-in stack checking is enabled. * config/sparc/sparc-protos.h (output_probe_stack_range): Declare. * config/sparc/sparc.md (UNSPECV_PROBE_STACK_RANGE): New constant. (probe_stack_range): New insn. From-SVN: r161749
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 6ee964a..c71b8ed 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -645,6 +645,9 @@ extern void update_nonlocal_goto_save_area (void);
says how many bytes. */
extern rtx allocate_dynamic_stack_space (rtx, rtx, int);
+/* Emit one stack probe at ADDRESS, an address within the stack. */
+extern void emit_stack_probe (rtx);
+
/* Probe a range of stack addresses from FIRST to FIRST+SIZE, inclusive.
FIRST is a constant and size is a Pmode RTX. These are offsets from
the current stack pointer. STACK_GROWS_DOWNWARD says whether to add