aboutsummaryrefslogtreecommitdiff
path: root/gcc/resource.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@gcc.gnu.org>2007-12-18 07:40:17 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-12-18 07:40:17 +0000
commiteef75f5ec020e74ff2c9a90ffed32427abfba837 (patch)
tree5322d5e68639e47b06f7c6531dcdf93b7aa38e00 /gcc/resource.c
parentb6541c1068441d06393f9c93829138bc1340f4da (diff)
downloadgcc-eef75f5ec020e74ff2c9a90ffed32427abfba837.zip
gcc-eef75f5ec020e74ff2c9a90ffed32427abfba837.tar.gz
gcc-eef75f5ec020e74ff2c9a90ffed32427abfba837.tar.bz2
200x-xx-xx Kaz Kylheku <kaz@zeugmasystems.com>
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. From-SVN: r131033
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 2ffde4f..d7e3339 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))