aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386-protos.h2
-rw-r--r--gcc/config/i386/i386.c8
-rw-r--r--gcc/config/i386/i386.md2
4 files changed, 11 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ccb553b..f210597 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,13 +1,13 @@
2017-08-10 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386-protos.h (ix86_split_stack_boundary): New prototype.
- * config/i386/i386.c (ix86_split_stack_boundary): New function.
- (ix86_xpand_split_stack_prologue): Call ix86_split_stack_boundary.
+ * config/i386/i386-protos.h (ix86_split_stack_guard): New prototype.
+ * config/i386/i386.c (ix86_split_stack_guard): New function.
+ (ix86_xpand_split_stack_prologue): Call ix86_split_stack_guard.
(ix86_legitimate_address_p) <case UNSPEC_STACK_CHECK>: Remove.
(i386_asm_output_addr_const_extra) <case UNSPEC_STACK_CHECK>: Ditto.
(optput_pic_addr_const): Remove UNSPEC_STACK_CHECK handling.
* config/i386/i386.md (unspec): Remove UNSPEC_STACK_CHECK.
- (split_stack_space_check): Call ix86_split_stack_boundary.
+ (split_stack_space_check): Call ix86_split_stack_guard.
2017-08-10 Martin Sebor <msebor@redhat.com>
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index ae945cb..2c15ba8 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -201,7 +201,7 @@ extern void ix86_expand_truncdf_32 (rtx, rtx);
extern void ix86_expand_vecop_qihi (enum rtx_code, rtx, rtx, rtx);
-extern rtx ix86_split_stack_boundary (void);
+extern rtx ix86_split_stack_guard (void);
#ifdef TREE_CODE
extern void init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 1204e11..9d59c78 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -15785,15 +15785,17 @@ static GTY(()) rtx split_stack_fn;
static GTY(()) rtx split_stack_fn_large;
-/* Return location of the stack boundary value in the TLS block. */
+/* Return location of the stack guard value in the TLS block. */
rtx
-ix86_split_stack_boundary (void)
+ix86_split_stack_guard (void)
{
int offset;
addr_space_t as = DEFAULT_TLS_SEG_REG;
rtx r;
+ gcc_assert (flag_split_stack);
+
#ifdef TARGET_THREAD_SPLIT_STACK_OFFSET
offset = TARGET_THREAD_SPLIT_STACK_OFFSET;
#else
@@ -15838,7 +15840,7 @@ ix86_expand_split_stack_prologue (void)
us SPLIT_STACK_AVAILABLE bytes, so if we need less than that we
can compare directly. Otherwise we need to do an addition. */
- limit = ix86_split_stack_boundary ();
+ limit = ix86_split_stack_guard ();
if (allocate < SPLIT_STACK_AVAILABLE)
current = stack_pointer_rtx;
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 8ccc975..3af3b7a 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -12638,7 +12638,7 @@
emit_insn (gen_sub3_insn (reg, stack_pointer_rtx, operands[0]));
- operands[2] = ix86_split_stack_boundary ();
+ operands[2] = ix86_split_stack_guard ();
ix86_expand_branch (GEU, reg, operands[2], operands[1]);
DONE;