diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 2 |
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; |