aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2002-05-07 11:03:37 -0600
committerJeff Law <law@gcc.gnu.org>2002-05-07 11:03:37 -0600
commitbdad4be519887cbc5d5eaca93e791dc71842745f (patch)
treecfaecb990b3b88ad205b160f366fa3bd17cfa5f7 /gcc
parent18aed4ab20abbd82bfc66d076a8d343bae9b4b75 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/pa/pa.c19
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);