Commit 53627ab9 authored by Matthias Braun's avatar Matthias Braun
Browse files

forgot to commit this

[r21109]
parent 1a393f7c
......@@ -2224,6 +2224,27 @@ void be_abi_put_ignore_regs(be_abi_irg_t *abi, const arch_register_class_t *cls,
bitset_set(bs, reg->index);
}
void be_abi_set_non_ignore_regs(be_abi_irg_t *abi, const arch_register_class_t *cls, unsigned *raw_bitset)
{
unsigned i;
arch_register_t *reg;
for (i = 0; i < cls->n_regs; ++i) {
if (arch_register_type_is(&cls->regs[i], ignore))
continue;
rbitset_set(raw_bitset, i);
}
for (reg = pset_first(abi->ignore_regs); reg != NULL;
reg = pset_next(abi->ignore_regs)) {
if (reg->reg_class != cls)
continue;
rbitset_clear(raw_bitset, reg->index);
}
}
/* Returns the stack layout from a abi environment. */
const be_stack_layout_t *be_abi_get_stack_layout(const be_abi_irg_t *abi) {
return abi->frame;
......
......@@ -171,6 +171,8 @@ void be_abi_fix_stack_nodes(be_abi_irg_t *env);
*/
void be_abi_put_ignore_regs(be_abi_irg_t *abi, const arch_register_class_t *cls, bitset_t *bs);
void be_abi_set_non_ignore_regs(be_abi_irg_t *abi, const arch_register_class_t *cls, unsigned *raw_bitset);
ir_node *be_abi_get_callee_save_irn(be_abi_irg_t *abi, const arch_register_t *reg);
ir_node *be_abi_get_ignore_irn(be_abi_irg_t *abi, const arch_register_t *reg);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment