From b181dbc50dd4045b1a23ac53c7fb4337fe1df190 Mon Sep 17 00:00:00 2001 From: Johan Lorensson Date: Tue, 25 Jun 2019 08:20:25 +0200 Subject: [PATCH] Add support for Windows x64 Full AOT + LLVM + Interpreter on CI. (#15276) --- configure.ac | 14 +++++++++++++- scripts/ci/run-jenkins.sh | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index d234d9522e8..9140f0c677f 100644 --- a/configure.ac +++ b/configure.ac @@ -1238,7 +1238,7 @@ AC_ARG_WITH(unreal, [ --with-unreal=yes,no If you w AC_ARG_WITH(wasm, [ --with-wasm=yes,no If you want to build the WebAssembly (defaults to no)], [], [with_wasm=default]) -AC_ARG_WITH(runtime-preset, [ --with-runtime-preset=net_4_x,all,aot,aot_llvm,hybridaot,hybridaot_llvm,fullaot,fullaot_llvm,winaot,winaotinterp,winaot_llvm,bitcode,bitcodeinterp,unreal,fullaotinterp,fullaotinterp_llvm Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) +AC_ARG_WITH(runtime-preset, [ --with-runtime-preset=net_4_x,all,aot,aot_llvm,hybridaot,hybridaot_llvm,fullaot,fullaot_llvm,winaot,winaotinterp,winaot_llvm,winaotinterp_llvm,bitcode,bitcodeinterp,unreal,fullaotinterp,fullaotinterp_llvm Which default profile to build (defaults to net_4_x)], [], [with_runtime_preset=net_4_x]) AC_ARG_WITH(spectre-mitigation, [ --with-spectre-mitigation=yes,no If you want to build the runtime with compiler flags that enable Spectre mitigation (defaults to no)], [], [with_spectre_mitigation=default]) AC_ARG_WITH(spectre-indirect-branch-choice, [ --with-spectre-indirect-branch-choice=keep,thunk,inline,extern Convert indirect branches to the specified kind of thunk (defaults to inline)], [], [with_spectre_indirect_branch_choice=inline]) AC_ARG_WITH(spectre-function-return-choice, [ --with-spectre-function-return-choice=keep,thunk,inline,extern Convert function return instructions to the specified kind of thunk (defaults to inline)], [], [with_spectre_function_return_choice=inline]) @@ -1490,6 +1490,18 @@ elif test x$with_runtime_preset = xwinaotinterp; then AOT_BUILD_FLAGS="--aot=full,interp,$INVARIANT_AOT_OPTIONS" AOT_RUN_FLAGS="--full-aot-interp" +elif test x$with_runtime_preset = xwinaotinterp_llvm; then + DISABLE_MCS_DOCS_default=yes + with_testing_winaot_interp_default=yes + TEST_PROFILE=testing_winaot_interp + + mono_feature_disable_com='yes' + mono_feature_disable_remoting='yes' + mono_feature_disable_appdomains='yes' + + INVARIANT_AOT_OPTIONS="llvmllc=-mattr=sse4.1,$INVARIANT_AOT_OPTIONS" + AOT_BUILD_FLAGS="-O=gsharedvt --llvm --aot=full,interp,$INVARIANT_AOT_OPTIONS" + AOT_RUN_FLAGS="--full-aot-interp" elif test x$with_runtime_preset = xwinaot_llvm; then DISABLE_MCS_DOCS_default=yes with_winaot_default=yes diff --git a/scripts/ci/run-jenkins.sh b/scripts/ci/run-jenkins.sh index 4b1c5da3bd0..6ae077ce299 100755 --- a/scripts/ci/run-jenkins.sh +++ b/scripts/ci/run-jenkins.sh @@ -75,6 +75,7 @@ elif [[ ${CI_TAGS} == *'jit_llvm'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_ elif [[ ${CI_TAGS} == *'fullaotinterp_llvm'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --enable-llvm=yes --with-runtime-preset=fullaotinterp_llvm"; elif [[ ${CI_TAGS} == *'fullaotinterp'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-runtime-preset=fullaotinterp"; elif [[ ${CI_TAGS} == *'winaotinterp'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-runtime-preset=winaotinterp"; +elif [[ ${CI_TAGS} == *'winaotinterp_llvm'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --enable-llvm=yes --with-runtime-preset=winaotinterp_llvm"; elif [[ ${CI_TAGS} == *'fullaot'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-runtime-preset=fullaot"; elif [[ ${CI_TAGS} == *'hybridaot'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-runtime-preset=hybridaot"; elif [[ ${CI_TAGS} == *'winaot'* ]]; then EXTRA_CONF_FLAGS="${EXTRA_CONF_FLAGS} --with-runtime-preset=winaot"; -- 2.11.4.GIT