This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: A serious bug on x86 with inline, PIC and omit frame pointer.
- To: law at cygnus dot com
- Subject: Re: A serious bug on x86 with inline, PIC and omit frame pointer.
- From: hjl at lucon dot org (H.J. Lu)
- Date: Mon, 6 Jul 1998 09:03:41 -0700 (PDT)
- Cc: john at feith dot com, egcs-bugs at cygnus dot com
>
>
> In message <m0yohWS-000262C@ocean.lucon.org>you write:
> > At that time, current_function_uses_const_pool is 0. Later in reload,
> I think this points to the core problem.
>
> I think checking current_function_uses_const_pool in the
> INITIAL_ELIMINATION_OFFEST is wrong.
>
> While it is slight overkill, I think the right solution is to always allocate
> the space for the saved copy of $ebx and change INITIAL_ELIMINATION_OFFSET
> to always include the space.
>
> It is non-optimal since pic leaf that doesn't access stuff through the
> PIC register would still save it, but that's less drastic IMHO than
> disabling frame pointer elimination for PIC.
>
INITIAL_ELIMINATION_OFFSET is used twice in reload1.c. When the
first time it is used, those reg_equiv_xxxxx are updated. When
INITIAL_ELIMINATION_OFFSET is used the second time, is anything
related to those reg_equiv_xxxxx changed? If yes, are those
reg_equiv_xxxxx still up to date?
--
H.J. Lu (hjl@gnu.org)