From b0a1ac21bda697a7bcec9ecd7b29c4df2c18ead4 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Thu, 8 Dec 2011 14:37:19 +0000 Subject: [PATCH] re PR target/50395 (Infinite loop when bootstrapping java) 2011-12-08 Andreas Krebbel PR target/50395 * config/s390/s390.c (s390_mainpool_finish): Emit the jump over the literal pool as jump insn. From-SVN: r182116 --- gcc/ChangeLog | 6 ++++++ gcc/config/s390/s390.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b8831739a94..ee1b6985f23 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-08 Andreas Krebbel + + PR target/50395 + * config/s390/s390.c (s390_mainpool_finish): Emit the jump over + the literal pool as jump insn. + 2011-12-08 Richard Guenther PR tree-optimization/49772 diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index ffca91a107a..67cdfb4a0d7 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -6476,7 +6476,8 @@ s390_mainpool_finish (struct constant_pool *pool) rtx pool_end = gen_label_rtx (); insn = gen_main_base_31_large (base_reg, pool->label, pool_end); - insn = emit_insn_after (insn, pool->pool_insn); + insn = emit_jump_insn_after (insn, pool->pool_insn); + JUMP_LABEL (insn) = pool_end; INSN_ADDRESSES_NEW (insn, -1); remove_insn (pool->pool_insn);