aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/darwin.c
diff options
context:
space:
mode:
authorStuart Hastings <stuart@apple.com>2006-01-10 23:56:12 +0000
committerStuart Hastings <stuart@gcc.gnu.org>2006-01-10 23:56:12 +0000
commit7d0720375952abd2c48d95f4cf752eff7d732e48 (patch)
tree31ba267cdfe3754d23ff1fd1f764d15586797215 /gcc/config/darwin.c
parenta45fefd6839744b6f77f7ae3b3101983b3af57e6 (diff)
downloadgcc-7d0720375952abd2c48d95f4cf752eff7d732e48.zip
gcc-7d0720375952abd2c48d95f4cf752eff7d732e48.tar.gz
gcc-7d0720375952abd2c48d95f4cf752eff7d732e48.tar.bz2
i386.md (set_got): Update.
* gcc/config/i386/i386.md (set_got): Update. (set_got_labelled): New. (UNSPEC_LD_MPIC): New. (builtin_setjmp_receiver): Mach-O support. * gcc/config/i386/darwin.h (TARGET_ASM_FILE_END) Define. (GOT_SYMBOL_NAME): Define. (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New. (TARGET_DEEP_BRANCH_PREDICTION): Remove. * gcc/config/i386/i386.c (override_options): Revise for Darwin. (USE_HIDDEN_LINKONCE): Enable for Mach-O. (ix86_file_end): Mach-O support. (darwin_x86_file_end): New. (output_set_got): Add label parameter, revise for Mach-O. (x86_output_mi_thunk): Likewise. * gcc/config/i386/i386-protos.h (output_set_got): Likewise. * gcc/config/darwin.c (machopic_legitimize_pic_address): Update regs_ever_live[]. From-SVN: r109556
Diffstat (limited to 'gcc/config/darwin.c')
-rw-r--r--gcc/config/darwin.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 920c478..8920d62 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -773,6 +773,8 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
PIC_OFFSET_TABLE_REGNUM)));
#endif
+ if (reload_in_progress)
+ regs_ever_live[REGNO (pic)] = 1;
pic_ref = gen_rtx_PLUS (Pmode, pic,
gen_pic_offset (XEXP (orig, 0),
pic_base));
@@ -842,6 +844,8 @@ machopic_legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
emit_insn (gen_rtx_USE (VOIDmode,
pic_offset_table_rtx));
#endif
+ if (reload_in_progress)
+ regs_ever_live[REGNO (pic)] = 1;
pic_ref = gen_rtx_PLUS (Pmode,
pic,
gen_pic_offset (orig, pic_base));