summaryrefslogtreecommitdiff
path: root/gcc/resource.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-18 07:40:17 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2007-12-18 07:40:17 +0000
commit84131f229856df6bd0a7a067d2a985c48a904f2d (patch)
tree5322d5e68639e47b06f7c6531dcdf93b7aa38e00 /gcc/resource.c
parentcf73d814960bc8ac78c462077c8be2feb292b4ca (diff)
downloadgcc-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.c5
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))