aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Evans <dje@gnu.org>1994-07-07 05:37:42 +0000
committerDoug Evans <dje@gnu.org>1994-07-07 05:37:42 +0000
commit04227afa5c66668ae3dd7a6495064462d436dbcd (patch)
tree57d284fc6adcfa4941ae9403e632171d42cfe41c /gcc
parenta3b49ccd5b72453a4c87944bbf827b7748a6d74d (diff)
downloadgcc-04227afa5c66668ae3dd7a6495064462d436dbcd.zip
gcc-04227afa5c66668ae3dd7a6495064462d436dbcd.tar.gz
gcc-04227afa5c66668ae3dd7a6495064462d436dbcd.tar.bz2
(mark_set_1): Record explicit hard registers in their raw mode.
(mark_used_regs): Likewise. From-SVN: r7669
Diffstat (limited to 'gcc')
-rw-r--r--gcc/flow.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index ae97677..cc9fed9 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2004,7 +2004,8 @@ mark_set_1 (needed, dead, x, insn, significant)
<< ((regno + i) % REGSET_ELT_BITS))) == 0)
REG_NOTES (insn)
= gen_rtx (EXPR_LIST, REG_UNUSED,
- gen_rtx (REG, word_mode, regno + i),
+ gen_rtx (REG, reg_raw_mode[regno + i],
+ regno + i),
REG_NOTES (insn));
}
}
@@ -2390,7 +2391,8 @@ mark_used_regs (needed, live, x, final, insn)
&& ! dead_or_set_regno_p (insn, regno + i))
REG_NOTES (insn)
= gen_rtx (EXPR_LIST, REG_DEAD,
- gen_rtx (REG, word_mode, regno + i),
+ gen_rtx (REG, reg_raw_mode[regno + i],
+ regno + i),
REG_NOTES (insn));
}
}