mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-26 13:10:22 +02:00
Implement the jit_arg_register_p predicate.
* include/lightning.h, lib/jit_aarch64.c, lib/jit_alpha.c, lib/jit_arm-vfp.c, lib/jit_arm.c, lib/jit_hppa.c, lib/jit_ia64.c, lib/jit_mips.c, lib/jit_ppc.c, lib/jit_s390.c, lib/jit_sparc.c, lib/jit_x86.c: Add the new jit_arg_register_p predicate. The predicate is expected to be used to know if an argument is in a register, what would need special handling if code that can overwrite non callee save registers is executed. * check/carg.c: New test case to check consistency and expected usage of jit_arg_register_p. * check/Makefile.am: Update for new test case.
This commit is contained in:
parent
73e520767f
commit
c8b6c36971
15 changed files with 667 additions and 4 deletions
|
@ -259,6 +259,14 @@ _jit_epilog(jit_state_t *_jit)
|
|||
_jitc->function = NULL;
|
||||
}
|
||||
|
||||
jit_bool_t
|
||||
_jit_arg_register_p(jit_state_t *_jit, jit_node_t *u)
|
||||
{
|
||||
assert(u->code == jit_code_arg ||
|
||||
u->code == jit_code_arg_f || u->code == jit_code_arg_d);
|
||||
return (jit_arg_reg_p(u->u.w));
|
||||
}
|
||||
|
||||
jit_node_t *
|
||||
_jit_arg(jit_state_t *_jit)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue