summaryrefslogtreecommitdiff
path: root/gcc/sched.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-03-31 22:59:20 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-03-31 22:59:20 +0000
commit69e7bfd4feaf030205d3e9ed0916884e5f167cf2 (patch)
tree6e743b97b65c2f6227b7d7f62ddbdef2a76ce008 /gcc/sched.c
parent08bf779b76adce9f540247ab2cb6b6c7da738758 (diff)
downloadgcc-69e7bfd4feaf030205d3e9ed0916884e5f167cf2.tar.gz
(schedule_block): CALL_INSNs don't affect fixed regs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11648 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sched.c')
-rw-r--r--gcc/sched.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/sched.c b/gcc/sched.c
index d690a825a8f..0617be309aa 100644
--- a/gcc/sched.c
+++ b/gcc/sched.c
@@ -3823,7 +3823,8 @@ schedule_block (b, file)
for those mentioned in the call pattern which will be
made live again later. */
for (i = 0; i < FIRST_PSEUDO_REGISTER; i++)
- if (call_used_regs[i] || global_regs[i])
+ if ((call_used_regs[i] && ! fixed_regs[i])
+ || global_regs[i])
{
register int offset = i / REGSET_ELT_BITS;
register REGSET_ELT_TYPE bit