* regmove.c (copy_src_to_dest): New argument max_old_uid.
From-SVN: r25639
This commit is contained in:
parent
3c869bc5eb
commit
78dd9906fe
|
@ -1,3 +1,7 @@
|
|||
Mon Mar 8 18:47:11 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* regmove.c (copy_src_to_dest): New argument max_old_uid.
|
||||
|
||||
Mon Mar 8 08:23:00 1999 Bruce Korb <korb@datadesign.com>
|
||||
* ChangeLog: merged entries from fixincl-branch
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ static int optimize_reg_copy_1 PROTO((rtx, rtx, rtx));
|
|||
static void optimize_reg_copy_2 PROTO((rtx, rtx, rtx));
|
||||
static void optimize_reg_copy_3 PROTO((rtx, rtx, rtx));
|
||||
static rtx gen_add3_insn PROTO((rtx, rtx, rtx));
|
||||
static void copy_src_to_dest PROTO((rtx, rtx, rtx, int));
|
||||
static void copy_src_to_dest PROTO((rtx, rtx, rtx, int, int));
|
||||
static int *regmove_bb_head;
|
||||
|
||||
struct match {
|
||||
|
@ -744,11 +744,12 @@ optimize_reg_copy_3 (insn, dest, src)
|
|||
instead moving the value to dest directly before the operation. */
|
||||
|
||||
static void
|
||||
copy_src_to_dest (insn, src, dest, loop_depth)
|
||||
copy_src_to_dest (insn, src, dest, loop_depth, old_max_uid)
|
||||
rtx insn;
|
||||
rtx src;
|
||||
rtx dest;
|
||||
int loop_depth;
|
||||
int old_max_uid;
|
||||
{
|
||||
rtx seq;
|
||||
rtx link;
|
||||
|
@ -820,12 +821,15 @@ copy_src_to_dest (insn, src, dest, loop_depth)
|
|||
/* Is the insn the head of a basic block? If so extend it */
|
||||
insn_uid = INSN_UID (insn);
|
||||
move_uid = INSN_UID (move_insn);
|
||||
if (insn_uid < old_max_uid)
|
||||
{
|
||||
bb = regmove_bb_head[insn_uid];
|
||||
if (bb >= 0)
|
||||
{
|
||||
BLOCK_HEAD (bb) = move_insn;
|
||||
regmove_bb_head[insn_uid] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Update the various register tables. */
|
||||
dest_regno = REGNO (dest);
|
||||
|
@ -1534,7 +1538,8 @@ regmove_optimize (f, nregs, regmove_dump_file)
|
|||
/* If we weren't able to replace any of the alternatives, try an
|
||||
alternative appoach of copying the source to the destination. */
|
||||
if (!success && copy_src != NULL_RTX)
|
||||
copy_src_to_dest (insn, copy_src, copy_dst, loop_depth);
|
||||
copy_src_to_dest (insn, copy_src, copy_dst, loop_depth,
|
||||
old_max_uid);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue