diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-16 09:54:34 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-16 09:54:34 +0000 |
commit | b2d919a895ca56b408b08e6aa1d14ef1dca781d3 (patch) | |
tree | 472ece16a2d2361e3f9da5e4bce513a52f486963 /gcc/resource.c | |
parent | 786d303736649a671bf461213deeba93ada83aff (diff) | |
download | gcc-b2d919a895ca56b408b08e6aa1d14ef1dca781d3.tar.gz |
gcc/
PR rtl-optimization/34415
* df.h (DF_LR_IN, DF_LR_OUT): Update comments.
* resource.c (mark_target_live_regs): Use DF_LR_IN rather than
df_get_live_in. Don't handle pseudos.
gcc/testsuite/
PR rtl-optimization/34415
* gcc.c-torture/execute/pr34415.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130987 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/resource.c')
-rw-r--r-- | gcc/resource.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/gcc/resource.c b/gcc/resource.c index 7cb4d2ae490..2ffde4f8e6f 100644 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -958,9 +958,8 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res) TARGET. Otherwise, we must assume everything is live. */ if (b != -1) { - regset regs_live = df_get_live_in (BASIC_BLOCK (b)); + regset regs_live = DF_LR_IN (BASIC_BLOCK (b)); rtx start_insn, stop_insn; - reg_set_iterator rsi; /* Compute hard regs live at start of block -- this is the real hard regs marked live, plus live pseudo regs that have been renumbered to @@ -968,13 +967,6 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res) REG_SET_TO_HARD_REG_SET (current_live_regs, regs_live); - EXECUTE_IF_SET_IN_REG_SET (regs_live, FIRST_PSEUDO_REGISTER, i, rsi) - { - if (reg_renumber[i] >= 0) - add_to_hard_reg_set (¤t_live_regs, PSEUDO_REGNO_MODE (i), - reg_renumber[i]); - } - /* Get starting and ending insn, handling the case where each might be a SEQUENCE. */ start_insn = (b == ENTRY_BLOCK_PTR->next_bb->index ? |