From: John David Anglin Date: Thu, 20 Dec 2007 01:17:57 +0000 (+0000) Subject: re PR target/34525 (ICE in extract_insn, at recog.c:1990 on hppa) X-Git-Tag: releases/gcc-4.3.0~864 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f946206c0eb307caa93dea8d55a7a2416e64049f;p=thirdparty%2Fgcc.git 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 --- 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)));