diff options
author | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-02 14:41:16 +0000 |
---|---|---|
committer | dnovillo <dnovillo@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-02 14:41:16 +0000 |
commit | be38f6544d729a2823c1a96659ae389a58a364ef (patch) | |
tree | 94345228dcacfa02d4973a3b74e9be4da8c30b14 | |
parent | 1b4391fe5dd846b10f811ab272156a92d9e9151b (diff) | |
download | gcc-be38f6544d729a2823c1a96659ae389a58a364ef.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30349 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/resource.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d72f92b32c4..66678f22036 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/resource.c b/gcc/resource.c index 1dc830f933f..b857312d4d0 100644 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -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) |