projects
/
libfirm
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d71dd46
)
becopyheur: Avoid unnecessary bitset copying.
author
Christoph Mallon
<christoph.mallon@gmx.de>
Wed, 19 Dec 2012 13:38:30 +0000
(14:38 +0100)
committer
Christoph Mallon
<christoph.mallon@gmx.de>
Wed, 19 Dec 2012 16:58:39 +0000
(17:58 +0100)
ir/be/becopyheur.c
patch
|
blob
|
history
diff --git
a/ir/be/becopyheur.c
b/ir/be/becopyheur.c
index
f104938
..
be20305
100644
(file)
--- a/
ir/be/becopyheur.c
+++ b/
ir/be/becopyheur.c
@@
-262,11
+262,8
@@
static ir_node *qnode_color_irn(qnode_t const *const qn, ir_node *const irn, int
bitset_copy(free_cols, allocatable_regs);
/* Exclude colors not assignable to the irn */
bitset_copy(free_cols, allocatable_regs);
/* Exclude colors not assignable to the irn */
- if (arch_register_req_is(req, limited)) {
- bitset_t *limited = bitset_alloca(cls->n_regs);
- rbitset_copy_to_bitset(req->limited, limited);
- bitset_and(free_cols, limited);
- }
+ if (arch_register_req_is(req, limited))
+ rbitset_and(free_cols->data, req->limited, free_cols->size);
/* Exclude the color of the irn, because it must _change_ its color */
bitset_clear(free_cols, irn_col);
/* Exclude the color of the irn, because it must _change_ its color */
bitset_clear(free_cols, irn_col);