Updated ChangeLog:
2014-10-10 Ilya Enkovich <[email protected]>
Vladimir Makarov <[email protected]>
* 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 <[email protected]> wrote:
> On Fri, Oct 10, 2014 at 02:34:07PM +0200, Rainer Orth wrote:
>> Uros Bizjak <[email protected]> writes:
>>
>> > On Fri, Oct 10, 2014 at 9:43 AM, Evgeny Stupachenko <[email protected]>
>> > wrote:
>> >> i386 specific part of the patch:
>> >>
>> >> 2014-10-08 Ilya Enkovich <[email protected]>
>> >> Vladimir Makarov <[email protected]>
>> >> * 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