Oust HPPA PIC_OFFSET_TABLE_REGNUM_SAVED

Jeffrey A Law law@redhat.com
Tue, 16 Jan 2001 22:26:11 -0700



  In message <Pine.LNX.4.21.0101161848180.4272-100000@front.linuxcare.com.au>yo
u write:
  > On Mon, 15 Jan 2001, Richard Henderson wrote:
  > 
  > > On Tue, Jan 16, 2001 at 12:20:19PM +1100, Alan Modra wrote:
  > > > 	* config/pa/pa.c (pa_init_machine_status, pa_free_machine_statu
  > s,
  > > > 	pa_init_expanders): New functions.
  > > 
  > > You need a mark_machine_status function.  It is also much better
  > > to set the global variables once in override_options than for
  > > every function in init_expanders.
Actually, just to be clear, we don't want to do this initialization
in the override_options since we're generating a register!  We need to
do that for each function!

  > gcc/ChangeLog
  > 	* config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
  > 	(machine_function): Define.
  > 	(PIC_OFFSET_TABLE_SAVE_RTX) : Define.
  > 	* config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
  > 	pa_free_machine_status): New functions.
  > 	(override_options): Set {init,mark,free}_machine_status to above.
  > 	(hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
  > 	PIC_OFFSET_TABLE_REGNUM_SAVED.
  > 	* config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
  > 	PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
  > 	* config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
  > 	references to PIC_OFFSET_TABLE_REGNUM_SAVED.
  > 	* config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
I've installed this patch.

Jeff