Commit 6dbbb526 by John David Anglin

pa.c (hppa_profile_hook): Remove offset adjustment.

	* config/pa/pa.c (hppa_profile_hook): Remove offset adjustment.

From-SVN: r271720
parent 441ed45c
2019-05-28 John David Anglin <danglin@gcc.gnu.org>
* config/pa/pa.c (hppa_profile_hook): Remove offset adjustment.
2019-05-28 Alejandro Martinez <alejandro.martinezvicente@arm.com> 2019-05-28 Alejandro Martinez <alejandro.martinezvicente@arm.com>
* internal-fn.c: Marked mask_load_direct as vectorizable. * internal-fn.c: Marked mask_load_direct as vectorizable.
......
...@@ -4569,10 +4569,6 @@ output_deferred_profile_counters (void) ...@@ -4569,10 +4569,6 @@ output_deferred_profile_counters (void)
void void
hppa_profile_hook (int label_no) hppa_profile_hook (int label_no)
{ {
/* We use SImode for the address of the function in both 32 and
64-bit code to avoid having to provide DImode versions of the
lcla2 and load_offset_label_address insn patterns. */
rtx reg = gen_reg_rtx (SImode);
rtx_code_label *label_rtx = gen_label_rtx (); rtx_code_label *label_rtx = gen_label_rtx ();
int reg_parm_stack_space = REG_PARM_STACK_SPACE (NULL_TREE); int reg_parm_stack_space = REG_PARM_STACK_SPACE (NULL_TREE);
rtx arg_bytes, begin_label_rtx, mcount, sym; rtx arg_bytes, begin_label_rtx, mcount, sym;
...@@ -4604,18 +4600,13 @@ hppa_profile_hook (int label_no) ...@@ -4604,18 +4600,13 @@ hppa_profile_hook (int label_no)
if (!use_mcount_pcrel_call) if (!use_mcount_pcrel_call)
{ {
/* The address of the function is loaded into %r25 with an instruction- /* The address of the function is loaded into %r25 with an instruction-
relative sequence that avoids the use of relocations. The sequence relative sequence that avoids the use of relocations. We use SImode
is split so that the load_offset_label_address instruction can for the address of the function in both 32 and 64-bit code to avoid
occupy the delay slot of the call to _mcount. */ having to provide DImode versions of the lcla2 pattern. */
if (TARGET_PA_20) if (TARGET_PA_20)
emit_insn (gen_lcla2 (reg, label_rtx)); emit_insn (gen_lcla2 (gen_rtx_REG (SImode, 25), label_rtx));
else else
emit_insn (gen_lcla1 (reg, label_rtx)); emit_insn (gen_lcla1 (gen_rtx_REG (SImode, 25), label_rtx));
emit_insn (gen_load_offset_label_address (gen_rtx_REG (SImode, 25),
reg,
begin_label_rtx,
label_rtx));
} }
if (!NO_DEFERRED_PROFILE_COUNTERS) if (!NO_DEFERRED_PROFILE_COUNTERS)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment