Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
53627ab9
Commit
53627ab9
authored
Aug 12, 2008
by
Matthias Braun
Browse files
forgot to commit this
[r21109]
parent
1a393f7c
Changes
2
Hide whitespace changes
Inline
Side-by-side
ir/be/beabi.c
View file @
53627ab9
...
...
@@ -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
;
...
...
ir/be/beabi.h
View file @
53627ab9
...
...
@@ -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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment