PR target/9350
PR target/24374 * dwarf2out.c (dwarf2out_reg_save_reg): New. (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec. * function.c (assign_parms): Use calls.internal_arg_pointer. (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN code. * target-def.h (TARGET_INTERNAL_ARG_POINTER): New. (TARGET_CALLS): Add it. * target.h (struct gcc_target): Add calls.internal_arg_pointer. * targhooks.c (default_internal_arg_pointer): New. * targhooks.h (default_internal_arg_pointer): Declare. * tree.h (dwarf2out_reg_save_reg): Declare. * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove. * config/i386/i386.c (dbx_register_map): Add return column. (dbx64_register_map, svr4_dbx_register_map): Likewise. (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New. (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New. (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer. (ix86_save_reg): Save force_align_arg_pointer. (ix86_emit_save_regs): Make regno unsigned. (ix86_emit_save_regs_using_mov): Likewise. (ix86_expand_prologue): Handle force_align_arg_pointer. (ix86_expand_epilogue): Likewise. * config/i386/i386.h: (dbx_register_map): Update. (dbx64_register_map, svr4_dbx_register_map): Update. (struct machine_function): Add force_align_arg_pointer. * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New. (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber. (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106420 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 33 additions, 0 deletionsgcc/ChangeLog
- gcc/config/i386/i386.c 112 additions, 3 deletionsgcc/config/i386/i386.c
- gcc/config/i386/i386.h 1 addition, 0 deletionsgcc/config/i386/i386.h
- gcc/config/i386/i386.md 15 additions, 8 deletionsgcc/config/i386/i386.md
- gcc/doc/tm.texi 0 additions, 12 deletionsgcc/doc/tm.texi
- gcc/dwarf2out.c 25 additions, 1 deletiongcc/dwarf2out.c
- gcc/function.c 2 additions, 51 deletionsgcc/function.c
- gcc/target-def.h 3 additions, 1 deletiongcc/target-def.h
- gcc/target.h 4 additions, 0 deletionsgcc/target.h
- gcc/targhooks.c 16 additions, 0 deletionsgcc/targhooks.c
- gcc/targhooks.h 1 addition, 1 deletiongcc/targhooks.h
- gcc/tree.h 4 additions, 0 deletionsgcc/tree.h
Loading
Please register or sign in to comment