OSDN Git Service

gcc:
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Sep 2013 15:39:28 +0000 (15:39 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 1 Sep 2013 15:39:28 +0000 (15:39 +0000)
commite8fc6f9c0961436ecba29d851190309e6cb73631
tree790bf3c9d52dc7f6738d94a26e8d59886e32026d
parent145de40e633ca2405e7c0dc5c07898d075d1f869
gcc:
Backport from mainline:
2013-07-22  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
it is not needed after split.

2013-07-20  Iain Sandoe  <iain@codesourcery.com>

PR target/51784
* config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
second label for nonlocal goto receivers. Don't output pic base labels
unless we're producing PIC; mark that action unreachable().
(ix86_save_reg): If the function contains a nonlocal label, save the
PIC base reg.
* config/darwin-protos.h (machopic_should_output_picbase_label): New.
* gcc/config/darwin.c (emitted_pic_label_num): New GTY.
(update_pic_label_number_if_needed): New.
(machopic_output_function_base_name): Adjust for nonlocal receiver
case.
(machopic_should_output_picbase_label): New.
* config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
(nonlocal_goto_receiver): New insn and split.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@202147 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/darwin-protos.h
gcc/config/darwin.c
gcc/config/i386/i386.c
gcc/config/i386/i386.md