aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1993-12-13 22:20:15 -0700
committerJeff Law <law@gcc.gnu.org>1993-12-13 22:20:15 -0700
commitb0ce651a545eb6184a413991f1fb849187066d86 (patch)
treef483b15825bcf5b077ce273b745a8a7037e79c1e /gcc
parent59036ece8fc4530991ddfb4d74762caea3fce391 (diff)
downloadgcc-b0ce651a545eb6184a413991f1fb849187066d86.zip
gcc-b0ce651a545eb6184a413991f1fb849187066d86.tar.gz
gcc-b0ce651a545eb6184a413991f1fb849187066d86.tar.bz2
pa.c (secondary_reload_class): Function addresses no longer need secondary reloads.
* pa.c (secondary_reload_class): Function addresses no longer need secondary reloads. (emit_move_sequence): Special handling of function addresses is no longer needed. From-SVN: r6228
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pa/pa.c23
1 files changed, 2 insertions, 21 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 5ba5a85..efdc02f 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -900,25 +900,7 @@ emit_move_sequence (operands, mode, scratch_reg)
emit_insn (gen_rtx (SET, VOIDmode,
temp,
gen_rtx (HIGH, mode, operand1)));
- if (function_label_operand (operand1, mode))
- {
- rtx temp;
-
- if (reload_in_progress || reload_completed)
- temp = scratch_reg;
- else
- temp = gen_reg_rtx (mode);
-
- if (!temp)
- abort ();
- emit_insn (gen_rtx (PARALLEL, VOIDmode,
- gen_rtvec (2,
- set,
- gen_rtx (CLOBBER, VOIDmode,
- temp))));
- }
- else
- emit_insn (set);
+ emit_insn (set);
return 1;
}
return 1;
@@ -3285,8 +3267,7 @@ secondary_reload_class (class, mode, in)
{
int regno = true_regnum (in);
- if (function_label_operand (in, mode)
- || ((regno >= FIRST_PSEUDO_REGISTER || regno == -1)
+ if (((regno >= FIRST_PSEUDO_REGISTER || regno == -1)
&& GET_MODE_CLASS (mode) == MODE_INT
&& FP_REG_CLASS_P (class))
|| (class == SHIFT_REGS && (regno <= 0 || regno >= 32)))