flow.c (merge_blocks_move_predecessor_nojumps): Cope with already adjacent blocks, but no fallthru.
* flow.c (merge_blocks_move_predecessor_nojumps): Cope with already adjacent blocks, but no fallthru. (merge_blocks_move_successor_nojumps): Simplify. (debug_flow_info): New. From-SVN: r30203
This commit is contained in:
parent
09a308fe08
commit
93cba9936e
@ -1,3 +1,13 @@
|
||||
Tue Oct 26 20:21:02 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* flow.c (merge_blocks_move_predecessor_nojumps): Cope
|
||||
with already adjacent blocks, but no fallthru.
|
||||
(merge_blocks_move_successor_nojumps): Simplify.
|
||||
(debug_flow_info): New.
|
||||
|
||||
* toplev.c (rest_of_compilation): Open jump1 dump file before
|
||||
jump and close after, as opposed to just using dump_rtl.
|
||||
|
||||
Wed Oct 27 03:09:23 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* reload.h (earlyclobber_operand_p): Declare.
|
||||
|
17
gcc/flow.c
17
gcc/flow.c
@ -2011,12 +2011,11 @@ static int
|
||||
merge_blocks_move_predecessor_nojumps (a, b)
|
||||
basic_block a, b;
|
||||
{
|
||||
rtx start, end, insertpoint, barrier;
|
||||
rtx start, end, barrier;
|
||||
int index;
|
||||
|
||||
start = a->head;
|
||||
end = a->end;
|
||||
insertpoint = PREV_INSN (b->head);
|
||||
|
||||
/* We want to delete the BARRIER after the end of the insns we are
|
||||
going to move. If we don't find a BARRIER, then do nothing. This
|
||||
@ -2042,7 +2041,8 @@ merge_blocks_move_predecessor_nojumps (a, b)
|
||||
start = squeeze_notes (start, end);
|
||||
|
||||
/* Scramble the insn chain. */
|
||||
reorder_insns (start, end, insertpoint);
|
||||
if (end != PREV_INSN (b->head))
|
||||
reorder_insns (start, end, PREV_INSN (b->head));
|
||||
|
||||
if (rtl_dump_file)
|
||||
{
|
||||
@ -2073,11 +2073,10 @@ static int
|
||||
merge_blocks_move_successor_nojumps (a, b)
|
||||
basic_block a, b;
|
||||
{
|
||||
rtx start, end, insertpoint, barrier;
|
||||
rtx start, end, barrier;
|
||||
|
||||
start = b->head;
|
||||
end = b->end;
|
||||
insertpoint = a->end;
|
||||
|
||||
/* We want to delete the BARRIER after the end of the insns we are
|
||||
going to move. If we don't find a BARRIER, then do nothing. This
|
||||
@ -2103,7 +2102,7 @@ merge_blocks_move_successor_nojumps (a, b)
|
||||
start = squeeze_notes (start, end);
|
||||
|
||||
/* Scramble the insn chain. */
|
||||
reorder_insns (start, end, insertpoint);
|
||||
reorder_insns (start, end, a->end);
|
||||
|
||||
/* Now blocks A and B are contiguous. Merge them. */
|
||||
merge_blocks_nomove (a, b);
|
||||
@ -4966,6 +4965,12 @@ dump_flow_info (file)
|
||||
putc('\n', file);
|
||||
}
|
||||
|
||||
void
|
||||
debug_flow_info ()
|
||||
{
|
||||
dump_flow_info (stderr);
|
||||
}
|
||||
|
||||
static void
|
||||
dump_edge_info (file, e, do_succ)
|
||||
FILE *file;
|
||||
|
Loading…
Reference in New Issue
Block a user