This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/X, i386, PR54232] Enable EBX for x86 in 32bits PIC code

Updated ChangeLog:
2014-10-10  Ilya Enkovich  <>
            Vladimir Makarov  <>

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]