mirror of
https://github.com/ctm/syn68k.git
synced 2024-11-28 12:51:40 +00:00
assembly cleanup and optimization are now AC_ARG_ENABLEd rather than done via environment variables.
This commit is contained in:
parent
32da58abd4
commit
a66465f9ca
14
TODO
14
TODO
@ -1,3 +1,17 @@
|
|||||||
|
May be able to avoid dce problems if we use && for labels (that
|
||||||
|
may also get rid of our need for the cleanup code, too)
|
||||||
|
|
||||||
|
Need to make it so that the minimal required compilation options for
|
||||||
|
x86_64 (-fno-dce) are set up by default
|
||||||
|
|
||||||
|
should probably report dead code elimination bug before I
|
||||||
|
forget the details (I've probably already lost the minimal
|
||||||
|
test case) (the details being that if you update a global
|
||||||
|
register and then use a label pointer to jump away, the
|
||||||
|
update can get eliminated even though the register can
|
||||||
|
still be accessed
|
||||||
|
|
||||||
|
|
||||||
cleanup and optimize shouldn't be done via environment variables;
|
cleanup and optimize shouldn't be done via environment variables;
|
||||||
they should be done with AC_ARG_ENABLE and default to be turned on
|
they should be done with AC_ARG_ENABLE and default to be turned on
|
||||||
on the architectures where they work (and should be made to work on
|
on the architectures where they work (and should be made to work on
|
||||||
|
54
configure.ac
54
configure.ac
@ -28,21 +28,6 @@ AC_ARG_VAR(CC_FOR_BUILD,[C compiler for building tools])
|
|||||||
CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-}"
|
CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-}"
|
||||||
AC_ARG_VAR(CFLAGS_FOR_BUILD,[C flags for building tools])
|
AC_ARG_VAR(CFLAGS_FOR_BUILD,[C flags for building tools])
|
||||||
|
|
||||||
AC_MSG_CHECKING([Syn68k C flags (TODO: FIXME)])
|
|
||||||
SYN68K_CFLAGS="${SYN68K_CFLAGS--O2 -fomit-frame-pointer}"
|
|
||||||
AC_MSG_RESULT([$SYN68K_CFLAGS])
|
|
||||||
AC_ARG_VAR(SYN68K_CFLAGS,[Syn68k C flags (TODO: FIXME)])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([cleanup script])
|
|
||||||
CLEANUP="${CLEANUP-./i486-cleanup.pl}"
|
|
||||||
AC_MSG_RESULT([$CLEANUP])
|
|
||||||
AC_ARG_VAR(CLEANUP,[cleanup script])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([optimization script])
|
|
||||||
OPTIMIZE="${OPTIMIZE-./i486-optimize.pl}"
|
|
||||||
AC_MSG_RESULT([$OPTIMIZE])
|
|
||||||
AC_ARG_VAR(OPTIMIZE,[optimization script])
|
|
||||||
|
|
||||||
if test "$host_alias" = ""; then
|
if test "$host_alias" = ""; then
|
||||||
host=i486-linux-glibc
|
host=i486-linux-glibc
|
||||||
fi
|
fi
|
||||||
@ -57,6 +42,11 @@ esac
|
|||||||
AC_SUBST(host_cpu_class)
|
AC_SUBST(host_cpu_class)
|
||||||
|
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([Syn68k C flags (TODO: FIXME)])
|
||||||
|
SYN68K_CFLAGS="${SYN68K_CFLAGS--O2 -fomit-frame-pointer}"
|
||||||
|
AC_MSG_RESULT([$SYN68K_CFLAGS])
|
||||||
|
AC_ARG_VAR(SYN68K_CFLAGS,[Syn68k C flags (TODO: FIXME)])
|
||||||
|
|
||||||
AC_ARG_ENABLE([native],
|
AC_ARG_ENABLE([native],
|
||||||
AC_HELP_STRING([--enable-native],
|
AC_HELP_STRING([--enable-native],
|
||||||
[recompile into x86 code (default enabled for x86)]),
|
[recompile into x86 code (default enabled for x86)]),
|
||||||
@ -82,6 +72,40 @@ AC_MSG_RESULT([$enable_native])
|
|||||||
AC_SUBST(NONNATIVE)
|
AC_SUBST(NONNATIVE)
|
||||||
AC_SUBST(HOST_NATIVE)
|
AC_SUBST(HOST_NATIVE)
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([assembly-cleanup],
|
||||||
|
AC_HELP_STRING([--enable-assembly-cleanup],
|
||||||
|
[remove unneeded assembler instructions (default enabled for x86)]),
|
||||||
|
[], [if test x$host_cpu_class = xi386; then
|
||||||
|
enable_assembly_cleanup=yes
|
||||||
|
else
|
||||||
|
enable_assembly_cleanup=no
|
||||||
|
fi])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([assembler cleanup])
|
||||||
|
if test x$enable_assembly_cleanup = xyes; then
|
||||||
|
assembly_cleanup_script=./i486-cleanup.pl
|
||||||
|
else
|
||||||
|
assembly_cleanup_script=
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT([$enable_assembly_cleanup])
|
||||||
|
AC_SUBST(assembly_cleanup_script)
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: finish this
|
||||||
|
AC_ARG_ENABLE([assembly-optimization],
|
||||||
|
AC_HELP_STRING([--enable-assembly-optimization],
|
||||||
|
[reorder assembly instructions (x86 only; default is no]),
|
||||||
|
[], [enable_assembly_optimization=no])
|
||||||
|
|
||||||
|
AC_MSG_CHECKING([assembly optimization])
|
||||||
|
if test x$enable_assembly_optimization = xyes; then
|
||||||
|
assembly_optimization_script=./i486-optimize.pl
|
||||||
|
else
|
||||||
|
assembly_optimization_script=
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT($enable_assembly_optimization)
|
||||||
|
AC_SUBST(assembly_optimization_script)
|
||||||
|
|
||||||
AC_ARG_ENABLE([debug],
|
AC_ARG_ENABLE([debug],
|
||||||
AC_HELP_STRING([--enable-debug],
|
AC_HELP_STRING([--enable-debug],
|
||||||
[use debug -g (default is yes)]),
|
[use debug -g (default is yes)]),
|
||||||
|
@ -4,8 +4,8 @@ include_HEADERS = ../include/syn68k_public.h
|
|||||||
host_native=@HOST_NATIVE@
|
host_native=@HOST_NATIVE@
|
||||||
|
|
||||||
SYN68K_CFLAGS=@SYN68K_CFLAGS@
|
SYN68K_CFLAGS=@SYN68K_CFLAGS@
|
||||||
CLEANUP=@CLEANUP@
|
CLEANUP=@assembly_cleanup_script@
|
||||||
OPTIMIZE=@OPTIMIZE@
|
OPTIMIZE=@assembly_optimization_script@
|
||||||
|
|
||||||
AM_CFLAGS = -DRUNTIME
|
AM_CFLAGS = -DRUNTIME
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user