From d8101d05d3383b8aabd979983dacd6c78e2f2f5d Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Tue, 18 Jun 2013 08:59:46 +0000 Subject: [PATCH] re PR bootstrap/57609 (S/390 ESA mode bootstrap failure since r197266) 2013-06-18 Andreas Krebbel PR target/57609 * config/s390/s390.c (s390_chunkify_start): Replace next_real_insn with next_active_insn. From-SVN: r200164 --- gcc/ChangeLog | 6 ++++++ gcc/config/s390/s390.c | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 649d9b98731..f356c4d75de 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-06-18 Andreas Krebbel + + PR target/57609 + * config/s390/s390.c (s390_chunkify_start): Replace next_real_insn + with next_active_insn. + 2013-06-18 Alan Modra * config/rs6000/rs6000.h (enum data_align): New. diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 358345a4437..837308b4d3f 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -7023,7 +7023,7 @@ s390_chunkify_start (void) if (LABEL_P (insn) && (LABEL_PRESERVE_P (insn) || LABEL_NAME (insn))) { - rtx vec_insn = next_real_insn (insn); + rtx vec_insn = next_active_insn (insn); if (! vec_insn || ! JUMP_TABLE_DATA_P (vec_insn)) bitmap_set_bit (far_labels, CODE_LABEL_NUMBER (insn)); } @@ -7054,7 +7054,7 @@ s390_chunkify_start (void) { /* Find the jump table used by this casesi jump. */ rtx vec_label = XEXP (XEXP (XVECEXP (pat, 0, 1), 0), 0); - rtx vec_insn = next_real_insn (vec_label); + rtx vec_insn = next_active_insn (vec_label); if (vec_insn && JUMP_TABLE_DATA_P (vec_insn)) { rtx vec_pat = PATTERN (vec_insn); @@ -7085,11 +7085,20 @@ s390_chunkify_start (void) /* Insert base register reload insns at every far label. */ + if (dump_file) + { + fprintf (dump_file, "Function: %s\n", current_function_name ()); + fprintf (dump_file, "far labels:\n"); + } + for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) if (LABEL_P (insn) && bitmap_bit_p (far_labels, CODE_LABEL_NUMBER (insn))) { struct constant_pool *pool = s390_find_pool (pool_list, insn); + if (dump_file) + print_rtx (insn); + if (pool) { rtx new_insn = gen_reload_base (cfun->machine->base_reg, -- 2.30.2