diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-18 07:40:17 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-12-18 07:40:17 +0000 |
commit | 84131f229856df6bd0a7a067d2a985c48a904f2d (patch) | |
tree | 5322d5e68639e47b06f7c6531dcdf93b7aa38e00 /gcc/resource.c | |
parent | cf73d814960bc8ac78c462077c8be2feb292b4ca (diff) | |
download | gcc-84131f229856df6bd0a7a067d2a985c48a904f2d.tar.gz |
gcc/
200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
PR rtl-optimization/34456
* resource.c (mark_set_resources): Use regs_invalidated_by_call
rather than call_used_regs and global_regs.
gcc/testsuite/
PR rtl-optimization/34456
* gcc.c-torture/execute/pr34456.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131033 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/resource.c')
-rw-r--r-- | gcc/resource.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/resource.c b/gcc/resource.c index 2ffde4f8e6f..d7e3339aa90 100644 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -663,9 +663,8 @@ mark_set_resources (rtx x, struct resources *res, int in_dest, rtx link; res->cc = res->memory = 1; - for (r = 0; r < FIRST_PSEUDO_REGISTER; r++) - if (call_used_regs[r] || global_regs[r]) - SET_HARD_REG_BIT (res->regs, r); + + IOR_HARD_REG_SET (res->regs, regs_invalidated_by_call); for (link = CALL_INSN_FUNCTION_USAGE (x); link; link = XEXP (link, 1)) |