]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/50395 (Infinite loop when bootstrapping java)
authorAndreas Krebbel <Andreas.Krebbel@de.ibm.com>
Thu, 8 Dec 2011 14:37:19 +0000 (14:37 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Thu, 8 Dec 2011 14:37:19 +0000 (14:37 +0000)
2011-12-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

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
gcc/config/s390/s390.c

index b8831739a94a930f90789a8e64fa0699d376c61a..ee1b6985f23b7cfcd834426116e72268f6085b58 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       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  <rguenther@suse.de>
 
        PR tree-optimization/49772
index ffca91a107a6413984b9cc8d7a642dfb728b64a9..67cdfb4a0d7514f4502095176a7feb701c130f5c 100644 (file)
@@ -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);