From 9d32f4a54a6978fe264486c3405ed0f380d1f3f7 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sun, 3 Jan 1993 11:59:12 -0700 Subject: [PATCH] pa.c (hppa_save_pic_table_rtx): New variable. * pa.c (hppa_save_pic_table_rtx): New variable. (finalize_pic): Setup hppa_save_pic_table_rtx.. From-SVN: r3068 --- gcc/config/pa/pa.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index ab7b2188531..2e36846cce2 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -41,6 +41,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ rtx hppa_compare_op0, hppa_compare_op1; enum cmp_type hppa_branch_type; +rtx hppa_save_pic_table_rtx; + /* Set by the FUNCTION_PROFILER macro. */ int hp_profile_labelno; @@ -492,9 +494,18 @@ initialize_pic () void finalize_pic () { - /* Need to emit this whether or not we obey regdecls, - since setjmp/longjmp can cause life info to screw up. */ + if (hppa_save_pic_table_rtx) + { + emit_insn_after (gen_rtx (SET, VOIDmode, + hppa_save_pic_table_rtx, + gen_rtx (REG, Pmode, 19)), + get_insns ()); + /* Need to emit this whether or not we obey regdecls, + since setjmp/longjmp can cause life info to screw up. */ + hppa_save_pic_table_rtx = 0; + } emit_insn (gen_rtx (USE, VOIDmode, pic_offset_table_rtx)); + } /* For the HPPA, REG and REG+CONST is cost 0 -- 2.30.2