summaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-02 21:25:28 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2010-07-02 21:25:28 +0000
commitf164c08a5ab59fc045ab26b4bbae6d8ecb0f5fff (patch)
tree07029562f5d29447aaea45407baa8ff6842f7694 /gcc/expr.h
parent85f98cf615062134f884e8d112254aab8437392f (diff)
downloadgcc-f164c08a5ab59fc045ab26b4bbae6d8ecb0f5fff.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161749 138bc75d-0d04-0410-961f-82ee72b054a4
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 6ee964a39f4..c71b8edcbb7 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