Default to Cranelift newBE

This commit is contained in:
bjorn3 2021-01-22 12:28:32 +01:00
parent 2ced8c0eb0
commit ae6daf77ba
4 changed files with 12 additions and 11 deletions

View File

@ -14,7 +14,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
env:
- BACKEND: ""
- BACKEND: --features newbe
- BACKEND: --oldbe
steps:
- uses: actions/checkout@v2

View File

@ -37,7 +37,7 @@ libloading = { version = "0.6.0", optional = true }
default = ["jit", "inline_asm"]
jit = ["cranelift-jit", "libloading"]
inline_asm = []
newbe = []
oldbe = []
[profile.dev]
# By compiling dependencies with optimizations, performing tests gets much faster.

View File

@ -5,7 +5,7 @@ set -e
export CHANNEL="release"
build_sysroot=1
target_dir='build'
newbe=''
oldbe=''
while [[ $# != 0 ]]; do
case $1 in
"--debug")
@ -18,12 +18,13 @@ while [[ $# != 0 ]]; do
target_dir=$2
shift
;;
"--newbe")
newbe='--features newbe'
"--oldbe")
oldbe='--features oldbe'
;;
*)
echo "Unknown flag '$1'"
echo "Usage: ./build.sh [--debug] [--without-sysroot] [--target-dir DIR] [--newbe]"
echo "Usage: ./build.sh [--debug] [--without-sysroot] [--target-dir DIR] [--oldbe]"
exit 1
;;
esac
shift
@ -43,9 +44,9 @@ else
exit 1
fi
if [[ "$CHANNEL" == "release" ]]; then
cargo build $newbe --release
cargo build $oldbe --release
else
cargo build $newbe
cargo build $oldbe
fi
rm -rf "$target_dir"

View File

@ -339,10 +339,10 @@ fn build_isa(sess: &Session) -> Box<dyn isa::TargetIsa + 'static> {
let flags = settings::Flags::new(flags_builder);
let variant = if cfg!(feature = "newbe") {
cranelift_codegen::isa::BackendVariant::MachInst
} else {
let variant = if cfg!(feature = "oldbe") {
cranelift_codegen::isa::BackendVariant::Legacy
} else {
cranelift_codegen::isa::BackendVariant::MachInst
};
let mut isa_builder = cranelift_codegen::isa::lookup_variant(target_triple, variant).unwrap();
// Don't use "haswell", as it implies `has_lzcnt`.macOS CI is still at Ivy Bridge EP, so `lzcnt`