From f946206c0eb307caa93dea8d55a7a2416e64049f Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Thu, 20 Dec 2007 01:17:57 +0000 Subject: [PATCH] re PR target/34525 (ICE in extract_insn, at recog.c:1990 on hppa) PR target/34525 * pa.c (legitimize_pic_address): Force function labels into memory. From-SVN: r131096 --- gcc/ChangeLog | 5 +++++ gcc/config/pa/pa.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7066277b236e..5e4ac241865e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-12-19 John David Anglin + + PR target/34525 + * pa.c (legitimize_pic_address): Force function labels into memory. + 2007-12-19 Zdenek Dvorak * omp-low.c (build_omp_regions_1): Recognition of combined parallels diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index b4d890c930c4..46ecbc1a1dfe 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -694,6 +694,10 @@ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg) tmp_reg = ((reload_in_progress || reload_completed) ? reg : gen_reg_rtx (Pmode)); + /* Force function labels into memory. */ + if (function_label_operand (orig, mode)) + orig = force_const_mem (mode, orig); + emit_move_insn (tmp_reg, gen_rtx_PLUS (word_mode, pic_offset_table_rtx, gen_rtx_HIGH (word_mode, orig))); -- 2.47.2