diff options
author | Jeff Law <law@redhat.com> | 2002-05-07 11:03:37 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2002-05-07 11:03:37 -0600 |
commit | bdad4be519887cbc5d5eaca93e791dc71842745f (patch) | |
tree | cfaecb990b3b88ad205b160f366fa3bd17cfa5f7 /gcc | |
parent | 18aed4ab20abbd82bfc66d076a8d343bae9b4b75 (diff) | |
download | gcc-bdad4be519887cbc5d5eaca93e791dc71842745f.zip gcc-bdad4be519887cbc5d5eaca93e791dc71842745f.tar.gz gcc-bdad4be519887cbc5d5eaca93e791dc71842745f.tar.bz2 |
pa.c (hppa_profile_hook): Use force_reg to get the address of the profile hook into an appropriate pseudo...
* pa.c (hppa_profile_hook): Use force_reg to get the address
of the profile hook into an appropriate pseudo register.
From-SVN: r53260
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 19 |
2 files changed, 6 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2671b48..6852c2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com) + + * pa.c (hppa_profile_hook): Use force_reg to get the address + of the profile hook into an appropriate pseudo register. + 2002-05-07 Mark Mitchell <mark@codesourcery.com> * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index f5852b9..cbb8d87 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -3729,24 +3729,7 @@ hppa_profile_hook (label_no) ASM_GENERATE_INTERNAL_LABEL (count_label_name, "LP", label_no); count_label_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (count_label_name)); - if (flag_pic) - { - rtx tmpreg; - - current_function_uses_pic_offset_table = 1; - tmpreg = gen_rtx_REG (Pmode, 1); - emit_move_insn (tmpreg, - gen_rtx_PLUS (Pmode, pic_offset_table_rtx, - gen_rtx_HIGH (Pmode, count_label_rtx))); - addr = gen_rtx_MEM (Pmode, - gen_rtx_LO_SUM (Pmode, tmpreg, count_label_rtx)); - } - else - { - rtx tmpreg = gen_rtx_REG (Pmode, 1); - emit_move_insn (tmpreg, gen_rtx_HIGH (Pmode, count_label_rtx)); - addr = gen_rtx_LO_SUM (Pmode, tmpreg, count_label_rtx); - } + addr = force_reg (Pmode, count_label_rtx); r24 = gen_rtx_REG (Pmode, 24); emit_move_insn (r24, addr); |