This is the mail archive of the gcc-patches@gcc.gnu.org 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]

Re: PIC_OFFSET_TABLE_SAVE_RTX in large stack frame




  In message <Pine.LNX.4.21.0101311543210.19209-100000@front.linuxcare.com.au>y
ou write:
  > On Wed, 31 Jan 2001, Alan Modra wrote:
  > 
  > > On Sat, 27 Jan 2001, John David Anglin wrote:
  > > 
  > > > > Don't give up so easy.  It _is_ possible to insert a move
  > > > > at the beginning of the function.  See alpha_return_address:
  > > > > 
  > > > >       push_topmost_sequence ();
  > > > >       emit_insn_after (init, get_insns ());
  > > > >       pop_topmost_sequence ();
  > > > 
  > > > Here is a revised patch using the above approach.  Bootstrapped and
  > > > checked under hpux 10.20 with no regressions.  I will post full test
  > > > results later.  The PIC testing is rather limited however.
  > > 
  > > This trick doesn't seem to work for inline functions.
  > 
  > OK, what's happening is that expand_inline_function doesn't copy
  > instructions associated with parameter finagling when inlining.  Since we
  > were putting our pic offset table reg save at the beginning of the
  > function, the move instruction was being lumped in with parameter insns.
  > 
  > Here's a fix that cures the testcase I posted.  Currently bootstrapping.
  > I'll post an "Oh no!" if the bootstrap fails.
  > 
  > 	* config/pa/pa.c (hppa_init_pic_save): Emit the pic offset table
  > 	reg save after last_parm_insn.
  > 
  > 	* config/pa/pa.c (hppa_init_pic_save): New function.
  > 	* config/pa/pa.h (hppa_init_pic_save): Declare.
  > 	* config/pa/pa.md (call, call_value, sibcall, sibcall_value): Use
  > 	the above instead of duplicated code.
Thanks.  Installed.  

My PA64 builds get a little further now :-)  In terms of testing PIC they're
pretty good since all PA64 code is PIC.

jeff


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