This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, i386]: Remove UNSPEC_STACK_CHECK ...


... and use address spaces to load boundary value from TLS block.

The patch removes special handling for boundary value location.

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.
    (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.

Bootstrapped and regression tested on x86_64-linux-gnu {,-m32} with
all default languages plus go.

Committed to mainline SVN.

Uros.

Attachment: r.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]