resource.c (mark_target_live_regs): For unconditional branches...

* resource.c (mark_target_live_regs): For unconditional branches,
	the resources found at the branch target should be added to the
	resources found so far, not intersected.

From-SVN: r30349
This commit is contained in:
Diego Novillo 1999-11-02 14:41:16 +00:00 committed by Diego Novillo
parent df548dfc02
commit 96e9c98d59
2 changed files with 9 additions and 3 deletions

View File

@ -70,6 +70,12 @@ Mon Nov 1 08:03:15 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* regclass.c (record_reg_classes): In matching case, recompute
costs since the direction of movement is different.
Sun Oct 31 21:59:34 MST 1999 Diego Novillo <dnovillo@cygnus.com>
* resource.c (mark_target_live_regs): For unconditional branches,
the resources found at the branch target should be added to the
resources found so far, not intersected.
Sun Oct 31 15:48:49 1999 Philippe De Muyter <phdm@macqel.be>
* fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for

View File

@ -1030,8 +1030,8 @@ mark_target_live_regs (insns, target, res)
/* If we hit an unconditional branch, we have another way of finding out
what is live: we can see what is live at the branch target and include
anything used but not set before the branch. The only things that are
live are those that are live using the above test and the test below. */
anything used but not set before the branch. We add the live
resources found using the test below to those found until now. */
if (jump_insn)
{
@ -1055,7 +1055,7 @@ mark_target_live_regs (insns, target, res)
mark_set_resources (insn, &set, 0, 1);
}
AND_HARD_REG_SET (res->regs, new_resources.regs);
IOR_HARD_REG_SET (res->regs, new_resources.regs);
}
if (tinfo != NULL)