Browse Source

add instruction selection rules for new register allocator;

add --enable-new-reg-alloc configure option.
cache-refactoring
Aleksey Demakov 19 years ago
parent
commit
4e64c61c4c
  1. 7
      ChangeLog
  2. 12
      configure.in
  3. 6
      jit/Makefile.am
  4. 2
      jit/jit-rules-x86.c
  5. 3455
      jit/jit-rules-x86.ins

7
ChangeLog

@ -1,3 +1,10 @@
2006-04-18 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-rules-x86.ins: add instruction selection rules for new
register allocator.
* jit/Makefile.am: build new instruction selection rules.
* configure.in: add --enable-new-reg-alloc option.
2006-04-14 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-reg-alloc.h, jit/jit-reg-alloc.c: new register allocator

12
configure.in

@ -63,6 +63,18 @@ if test x$interp = xtrue; then
AC_DEFINE(USE_LIBJIT_INTERPRETER, 1, [Define if you want to use the libjit interpreter])
fi
dnl The "--enable-new-reg-alloc" option forces the use of new register allocator.
AC_ARG_ENABLE(new-reg-alloc,
[ --enable-new-reg-alloc Enable new register allocator],
[case "${enableval}" in
yes) new_reg_alloc=true ;;
no) new_reg_alloc=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-new-reg-alloc) ;;
esac],[new_reg_alloc=false])
if test x$new_reg_alloc = xtrue; then
AC_DEFINE(USE_NEW_REG_ALLOC, 1, [Define if you want to use new register allocator])
fi
dnl The "--enable-long-double" option forces the use of long double for
dnl jit_nfloat.
AC_ARG_ENABLE(long-double,

6
jit/Makefile.am

@ -66,12 +66,16 @@ jit-interp-labels.h: $(top_srcdir)/include/jit/jit-opcode.h \
$(top_srcdir)/include/jit/jit-opcode.h \
$(top_srcdir)/jit/jit-interp.h >jit-interp-labels.h
jit-rules-x86.lo: jit-rules-x86.slc
jit-rules-x86.lo: jit-rules-x86.slc jit-rules-x86.inc
jit-rules-x86.slc: jit-rules-x86.sel $(top_builddir)/tools/gen-sel$(EXEEXT)
$(top_builddir)/tools/gen-sel$(EXEEXT) $(srcdir)/jit-rules-x86.sel \
>jit-rules-x86.slc
jit-rules-x86.inc: jit-rules-x86.ins $(top_builddir)/tools/gen-rules$(EXEEXT)
$(top_builddir)/tools/gen-rules$(EXEEXT) $(srcdir)/jit-rules-x86.ins \
>jit-rules-x86.inc
jit-rules-arm.lo: jit-rules-arm.slc
jit-rules-arm.slc: jit-rules-arm.sel $(top_builddir)/tools/gen-sel$(EXEEXT)

2
jit/jit-rules-x86.c

@ -1579,7 +1579,7 @@ void _jit_gen_insn(jit_gencode_t gen, jit_function_t func,
switch(insn->opcode)
{
#define JIT_INCLUDE_RULES
#if _JIT_NEW_REG_ALLOC
#if USE_NEW_REG_ALLOC
#include "jit-rules-x86.inc"
#else
#include "jit-rules-x86.slc"

3455
jit/jit-rules-x86.ins

File diff suppressed because it is too large
Loading…
Cancel
Save