Updated ChangeLog: 2014-10-10 Ilya Enkovich <ilya.enkov...@intel.com> Vladimir Makarov <vmaka...@redhat.com>
* config/i386/i386.c (ix86_use_pseudo_pic_reg): New. (ix86_init_pic_reg): New. (ix86_select_alt_pic_regnum): Add check on pseudo register. (ix86_save_reg): Likewise. (ix86_expand_prologue): Remove PIC register initialization now performed in ix86_init_pic_reg. (ix86_output_function_epilogue): Add check on pseudo register. (set_pic_reg_ever_alive): New. (legitimize_pic_address): Replace df_set_regs_ever_live with new set_pic_reg_ever_alive. (legitimize_tls_address): Likewise. (ix86_pic_register_p): New check. (ix86_delegitimize_address): Add check on pseudo register. (ix86_expand_call): Insert move from pseudo PIC register to ABI defined REAL_PIC_OFFSET_TABLE_REGNUM. (TARGET_INIT_PIC_REG): New. (TARGET_USE_PSEUDO_PIC_REG): New. * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Return INVALID_REGNUM if pic_offset_table_rtx exists. >- if (pic_offset_table_rtx) >+ if (pic_offset_table_rtx >+ && (!reload_completed || !ix86_use_pseudo_pic_reg ())) >Hm, can you please add a comment for this change? I've added the following comment to the patch: - in which case we return (%ecx - %ebx) + foo. */ + in which case we return (%ecx - %ebx) + foo. + + Note that when pseudo_pic_reg is used we can generate it only + before reload_completed. */ On Fri, Oct 10, 2014 at 4:36 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Fri, Oct 10, 2014 at 02:34:07PM +0200, Rainer Orth wrote: >> Uros Bizjak <ubiz...@gmail.com> writes: >> >> > On Fri, Oct 10, 2014 at 9:43 AM, Evgeny Stupachenko <evstu...@gmail.com> >> > wrote: >> >> i386 specific part of the patch: >> >> >> >> 2014-10-08 Ilya Enkovich <ilya.enkov...@intel.com> >> >> Vladimir Makarov <vmaka...@redhat.com> >> >> * gcc/config/i386/i386.c (ix86_use_pseudo_pic_reg): New. >> >> Evgeny: here and in your other submissions: drop the gcc prefix from the >> pathnames. They are all relative to the directory the ChangeLog lives >> in. > > And add a blank line after after the e-mail lines. > > Jakub