diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/flow.c | 12 |
2 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b2a3db..46c1d3c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Tue Aug 10 10:39:31 EDT 1999 Andrew MacLeod <amacleod@cygnus.com> + + * flow.c (split_edge): Set JUMP_LABEL field. + (commit_one_edge_insertion): Set head correctly for insert_before. + When inserting insns, update insn block numbers if allocated. + Tue Aug 10 09:26:07 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type, @@ -1260,6 +1260,7 @@ split_edge (edge_in) emit_barrier_after (pos); /* ... let jump know that label is in use, ... */ + JUMP_LABEL (pos) = old_succ->head; ++LABEL_NUSES (old_succ->head); /* ... and clear fallthru on the outgoing edge. */ @@ -1435,11 +1436,20 @@ commit_one_edge_insertion (e) /* Now that we've found the spot, do the insertion. */ tmp = e->insns; e->insns = NULL_RTX; + + /* Set the new block number for these insns, if structure is allocated. */ + if (basic_block_for_insn) + { + rtx i; + for (i = tmp; i != NULL_RTX; i = NEXT_INSN (i)) + set_block_for_insn (i, bb); + } + if (before) { emit_insns_before (tmp, before); if (before == bb->head) - bb->head = before; + bb->head = tmp; } else { |