Merge pull request from GHSA-hpqh-2wqx-7qp5
Fix spillslot reload of narrow values: zero-extend, don't sign-extend. Release v0.74.0 as security-patch release.
This commit is contained in:
@@ -15,27 +15,27 @@ path = "src/clif-util.rs"
|
||||
|
||||
[dependencies]
|
||||
cfg-if = "1.0"
|
||||
cranelift-codegen = { path = "codegen", version = "0.73.0" }
|
||||
cranelift-entity = { path = "entity", version = "0.73.0" }
|
||||
cranelift-interpreter = { path = "interpreter", version = "0.73.0" }
|
||||
cranelift-reader = { path = "reader", version = "0.73.0" }
|
||||
cranelift-frontend = { path = "frontend", version = "0.73.0" }
|
||||
cranelift-serde = { path = "serde", version = "0.73.0", optional = true }
|
||||
cranelift-wasm = { path = "wasm", version = "0.73.0", optional = true }
|
||||
cranelift-native = { path = "native", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "codegen", version = "0.74.0" }
|
||||
cranelift-entity = { path = "entity", version = "0.74.0" }
|
||||
cranelift-interpreter = { path = "interpreter", version = "0.74.0" }
|
||||
cranelift-reader = { path = "reader", version = "0.74.0" }
|
||||
cranelift-frontend = { path = "frontend", version = "0.74.0" }
|
||||
cranelift-serde = { path = "serde", version = "0.74.0", optional = true }
|
||||
cranelift-wasm = { path = "wasm", version = "0.74.0", optional = true }
|
||||
cranelift-native = { path = "native", version = "0.74.0" }
|
||||
cranelift-filetests = { path = "filetests", version = "0.73.0" }
|
||||
cranelift-module = { path = "module", version = "0.73.0" }
|
||||
cranelift-object = { path = "object", version = "0.73.0" }
|
||||
cranelift-jit = { path = "jit", version = "0.73.0" }
|
||||
cranelift-preopt = { path = "preopt", version = "0.73.0" }
|
||||
cranelift = { path = "umbrella", version = "0.73.0" }
|
||||
cranelift-module = { path = "module", version = "0.74.0" }
|
||||
cranelift-object = { path = "object", version = "0.74.0" }
|
||||
cranelift-jit = { path = "jit", version = "0.74.0" }
|
||||
cranelift-preopt = { path = "preopt", version = "0.74.0" }
|
||||
cranelift = { path = "umbrella", version = "0.74.0" }
|
||||
filecheck = "0.5.0"
|
||||
log = "0.4.8"
|
||||
termcolor = "1.1.2"
|
||||
capstone = { version = "0.7.0", optional = true }
|
||||
wat = { version = "1.0.36", optional = true }
|
||||
target-lexicon = { version = "0.12", features = ["std"] }
|
||||
peepmatic-souper = { path = "./peepmatic/crates/souper", version = "0.73.0", optional = true }
|
||||
peepmatic-souper = { path = "./peepmatic/crates/souper", version = "0.74.0", optional = true }
|
||||
pretty_env_logger = "0.4.0"
|
||||
rayon = { version = "1", optional = true }
|
||||
file-per-thread-logger = "0.1.2"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-bforest"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "A forest of B+-trees"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift-bforest"
|
||||
@@ -12,7 +12,7 @@ keywords = ["btree", "forest", "set", "map"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0", default-features = false }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-codegen"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Low-level code generator library"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift-codegen"
|
||||
@@ -13,9 +13,9 @@ build = "build.rs"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen-shared = { path = "./shared", version = "0.73.0" }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-bforest = { path = "../bforest", version = "0.73.0" }
|
||||
cranelift-codegen-shared = { path = "./shared", version = "0.74.0" }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
cranelift-bforest = { path = "../bforest", version = "0.74.0" }
|
||||
hashbrown = { version = "0.9.1", optional = true }
|
||||
target-lexicon = "0.12"
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
@@ -23,9 +23,9 @@ serde = { version = "1.0.94", features = ["derive"], optional = true }
|
||||
bincode = { version = "1.2.1", optional = true }
|
||||
gimli = { version = "0.24.0", default-features = false, features = ["write"], optional = true }
|
||||
smallvec = { version = "1.6.1" }
|
||||
peepmatic = { path = "../peepmatic", optional = true, version = "0.73.0" }
|
||||
peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, version = "0.73.0" }
|
||||
peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.73.0" }
|
||||
peepmatic = { path = "../peepmatic", optional = true, version = "0.74.0" }
|
||||
peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, version = "0.74.0" }
|
||||
peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.74.0" }
|
||||
regalloc = { version = "0.0.31" }
|
||||
souper-ir = { version = "2.1.0", optional = true }
|
||||
wast = { version = "35.0.0", optional = true }
|
||||
@@ -38,7 +38,7 @@ wast = { version = "35.0.0", optional = true }
|
||||
criterion = "0.3"
|
||||
|
||||
[build-dependencies]
|
||||
cranelift-codegen-meta = { path = "meta", version = "0.73.0" }
|
||||
cranelift-codegen-meta = { path = "meta", version = "0.74.0" }
|
||||
|
||||
[features]
|
||||
default = ["std", "unwind"]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "cranelift-codegen-meta"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Metaprogram for cranelift-codegen code generator library"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
@@ -13,8 +13,8 @@ edition = "2018"
|
||||
# rustdoc-args = [ "--document-private-items" ]
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen-shared = { path = "../shared", version = "0.73.0" }
|
||||
cranelift-entity = { path = "../../entity", version = "0.73.0" }
|
||||
cranelift-codegen-shared = { path = "../shared", version = "0.74.0" }
|
||||
cranelift-entity = { path = "../../entity", version = "0.74.0" }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-codegen-shared"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "For code shared between cranelift-codegen-meta and cranelift-codegen"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
|
||||
@@ -317,19 +317,19 @@ impl ABIMachineSpec for X64ABIMachineSpec {
|
||||
}
|
||||
|
||||
fn gen_load_stack(mem: StackAMode, into_reg: Writable<Reg>, ty: Type) -> Self::I {
|
||||
let ext_kind = match ty {
|
||||
// For integer-typed values, we always load a full 64 bits (and we always spill a full 64
|
||||
// bits as well -- see `Inst::store()`).
|
||||
let ty = match ty {
|
||||
types::B1
|
||||
| types::B8
|
||||
| types::I8
|
||||
| types::B16
|
||||
| types::I16
|
||||
| types::B32
|
||||
| types::I32 => ExtKind::SignExtend,
|
||||
types::B64 | types::I64 | types::R64 | types::F32 | types::F64 => ExtKind::None,
|
||||
_ if ty.bytes() == 16 => ExtKind::None,
|
||||
_ => panic!("load_stack({})", ty),
|
||||
| types::I32 => types::I64,
|
||||
_ => ty,
|
||||
};
|
||||
Inst::load(ty, mem, into_reg, ext_kind)
|
||||
Inst::load(ty, mem, into_reg, ExtKind::None)
|
||||
}
|
||||
|
||||
fn gen_store_stack(mem: StackAMode, from_reg: Reg, ty: Type) -> Self::I {
|
||||
|
||||
@@ -1038,6 +1038,7 @@ impl fmt::Display for Avx512Opcode {
|
||||
/// This defines the ways a value can be extended: either signed- or zero-extension, or none for
|
||||
/// types that are not extended. Contrast with [ExtMode], which defines the widths from and to which
|
||||
/// values can be extended.
|
||||
#[allow(dead_code)]
|
||||
#[derive(Clone, PartialEq)]
|
||||
pub enum ExtKind {
|
||||
None,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-entity"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Data structures using entity references as mapping keys"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift-entity"
|
||||
|
||||
@@ -10,12 +10,12 @@ publish = false
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", features = ["testing_hooks"] }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.73.0" }
|
||||
cranelift-interpreter = { path = "../interpreter", version = "0.73.0" }
|
||||
cranelift-native = { path = "../native", version = "0.73.0" }
|
||||
cranelift-reader = { path = "../reader", version = "0.73.0" }
|
||||
cranelift-preopt = { path = "../preopt", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", features = ["testing_hooks"] }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.74.0" }
|
||||
cranelift-interpreter = { path = "../interpreter", version = "0.74.0" }
|
||||
cranelift-native = { path = "../native", version = "0.74.0" }
|
||||
cranelift-reader = { path = "../reader", version = "0.74.0" }
|
||||
cranelift-preopt = { path = "../preopt", version = "0.74.0" }
|
||||
file-per-thread-logger = "0.1.2"
|
||||
filecheck = "0.5.0"
|
||||
gimli = { version = "0.24.0", default-features = false, features = ["read"] }
|
||||
|
||||
@@ -102,7 +102,7 @@ block0(
|
||||
; nextln: movq %r8, %r11
|
||||
; nextln: movq %r9, %r12
|
||||
; nextln: movq 16(%rbp), %r13
|
||||
; nextln: movslq 24(%rbp), %r14
|
||||
; nextln: movq 24(%rbp), %r14
|
||||
; nextln: movss 32(%rbp), %xmm8
|
||||
; nextln: movsd 40(%rbp), %xmm9
|
||||
; nextln: subq $$144, %rsp
|
||||
@@ -236,7 +236,7 @@ block0:
|
||||
; nextln: virtual_sp_offset_adjust 16
|
||||
; nextln: lea 0(%rsp), %rdi
|
||||
; nextln: call *%rsi
|
||||
; nextln: movslq 0(%rsp), %rsi
|
||||
; nextln: movq 0(%rsp), %rsi
|
||||
; nextln: addq $$16, %rsp
|
||||
; nextln: virtual_sp_offset_adjust -16
|
||||
; nextln: movq %rsi, %rdx
|
||||
@@ -282,7 +282,7 @@ block0:
|
||||
; nextln: virtual_sp_offset_adjust 16
|
||||
; nextln: lea 0(%rsp), %rdi
|
||||
; nextln: call *%rsi
|
||||
; nextln: movslq 0(%rsp), %rsi
|
||||
; nextln: movq 0(%rsp), %rsi
|
||||
; nextln: addq $$16, %rsp
|
||||
; nextln: virtual_sp_offset_adjust -16
|
||||
; nextln: movq %rdx, 0(%r12)
|
||||
|
||||
38
cranelift/filetests/filetests/isa/x64/spill-reload.clif
Normal file
38
cranelift/filetests/filetests/isa/x64/spill-reload.clif
Normal file
@@ -0,0 +1,38 @@
|
||||
test run
|
||||
target x86_64
|
||||
feature "experimental_x64"
|
||||
|
||||
function %f(i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) -> i64 {
|
||||
block0(v0: i32, v1: i32, v2: i32, v3: i32, v4: i32, v5: i32, v6: i32, v7: i32, v8: i32, v9: i32, v10: i32, v11: i32, v12: i32, v13: i32, v14: i32, v15: i32, v16: i32, v17: i32, v18: i32, v19: i32):
|
||||
v20 = iadd.i32 v0, v1
|
||||
v21 = iadd.i32 v2, v3
|
||||
v22 = iadd.i32 v4, v5
|
||||
v23 = iadd.i32 v6, v7
|
||||
v24 = iadd.i32 v8, v9
|
||||
v25 = iadd.i32 v10, v11
|
||||
v26 = iadd.i32 v12, v13
|
||||
v27 = iadd.i32 v14, v15
|
||||
v28 = iadd.i32 v16, v17
|
||||
v29 = iadd.i32 v18, v19
|
||||
|
||||
v30 = iadd.i32 v20, v21
|
||||
v31 = iadd.i32 v22, v23
|
||||
v32 = iadd.i32 v24, v25
|
||||
v33 = iadd.i32 v26, v27
|
||||
v34 = iadd.i32 v28, v29
|
||||
|
||||
v35 = iadd.i32 v30, v31
|
||||
v36 = iadd.i32 v32, v33
|
||||
v37 = iadd.i32 v35, v34
|
||||
v38 = iadd.i32 v36, v37
|
||||
;; v38 should be zero (due to wrapping).
|
||||
|
||||
v39 = iconst.i64 1
|
||||
v40 = uextend.i64 v0 ;; should be reloaded from a spillslot
|
||||
v41 = uextend.i64 v38
|
||||
v42 = iadd.i64 v39, v40
|
||||
v43 = iadd.i64 v42, v41
|
||||
return v43
|
||||
}
|
||||
|
||||
; run: %f(0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000) == 0x80000001
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-frontend"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Cranelift IR builder helper"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift-frontend"
|
||||
@@ -11,7 +11,7 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false }
|
||||
target-lexicon = "0.12"
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
hashbrown = { version = "0.9.1", optional = true }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-interpreter"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Interpret Cranelift IR"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
@@ -11,15 +11,15 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", features = ["all-arch"] }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", features = ["all-arch"] }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
log = { version = "0.4.8", default-features = false }
|
||||
smallvec = "1.6.1"
|
||||
thiserror = "1.0.15"
|
||||
|
||||
[dev-dependencies]
|
||||
cranelift-frontend = { path = "../frontend", version = "0.73.0" }
|
||||
cranelift-reader = { path = "../reader", version = "0.73.0" }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.74.0" }
|
||||
cranelift-reader = { path = "../reader", version = "0.74.0" }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-jit"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "A JIT library backed by Cranelift"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
@@ -10,10 +10,10 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-module = { path = "../module", version = "0.73.0" }
|
||||
cranelift-native = { path = "../native", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false, features = ["std"] }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-module = { path = "../module", version = "0.74.0" }
|
||||
cranelift-native = { path = "../native", version = "0.74.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false, features = ["std"] }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
anyhow = "1.0"
|
||||
region = "2.2.0"
|
||||
libc = { version = "0.2.42" }
|
||||
@@ -29,9 +29,9 @@ selinux-fix = ['memmap2']
|
||||
default = []
|
||||
|
||||
[dev-dependencies]
|
||||
cranelift = { path = "../umbrella", version = "0.73.0" }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.73.0" }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift = { path = "../umbrella", version = "0.74.0" }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.74.0" }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-module"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Support for linking functions and data with Cranelift"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
@@ -11,8 +11,8 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
hashbrown = { version = "0.9.1", optional = true }
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
anyhow = "1.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-native"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Support for targeting the host with Cranelift"
|
||||
documentation = "https://docs.rs/cranelift-native"
|
||||
@@ -11,7 +11,7 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false }
|
||||
target-lexicon = "0.12"
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-object"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Emit Cranelift output to native object files with `object`"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
@@ -10,16 +10,16 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-module = { path = "../module", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false, features = ["std"] }
|
||||
cranelift-module = { path = "../module", version = "0.74.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false, features = ["std"] }
|
||||
object = { version = "0.24.0", default-features = false, features = ["write"] }
|
||||
target-lexicon = "0.12"
|
||||
anyhow = "1.0"
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
|
||||
[dev-dependencies]
|
||||
cranelift-frontend = { path = "../frontend", version = "0.73.0" }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.74.0" }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peepmatic"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
@@ -10,13 +10,13 @@ description = "DSL and compiler for generating peephole optimizers"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0.27"
|
||||
peepmatic-automata = { version = "0.73.0", path = "crates/automata", features = ["dot"] }
|
||||
peepmatic-macro = { version = "0.73.0", path = "crates/macro" }
|
||||
peepmatic-runtime = { version = "0.73.0", path = "crates/runtime", features = ["construct"] }
|
||||
peepmatic-traits = { version = "0.73.0", path = "crates/traits" }
|
||||
peepmatic-automata = { version = "0.74.0", path = "crates/automata", features = ["dot"] }
|
||||
peepmatic-macro = { version = "0.74.0", path = "crates/macro" }
|
||||
peepmatic-runtime = { version = "0.74.0", path = "crates/runtime", features = ["construct"] }
|
||||
peepmatic-traits = { version = "0.74.0", path = "crates/traits" }
|
||||
serde = { version = "1.0.105", features = ["derive"] }
|
||||
wast = "35.0.0"
|
||||
z3 = { version = "0.7.1", features = ["static-link-z3"] }
|
||||
|
||||
[dev-dependencies]
|
||||
peepmatic-test-operator = { version = "0.73.0", path = "crates/test-operator" }
|
||||
peepmatic-test-operator = { version = "0.74.0", path = "crates/test-operator" }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peepmatic-automata"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peepmatic-macro"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peepmatic-runtime"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
@@ -12,14 +12,14 @@ description = "Runtime support for peepmatic peephole optimizers"
|
||||
bincode = "1.2.1"
|
||||
bumpalo = "3.2.0"
|
||||
log = "0.4.8"
|
||||
peepmatic-automata = { version = "0.73.0", path = "../automata", features = ["serde"] }
|
||||
peepmatic-traits = { version = "0.73.0", path = "../traits" }
|
||||
peepmatic-automata = { version = "0.74.0", path = "../automata", features = ["serde"] }
|
||||
peepmatic-traits = { version = "0.74.0", path = "../traits" }
|
||||
serde = { version = "1.0.105", features = ["derive"] }
|
||||
thiserror = "1.0.15"
|
||||
wast = { version = "35.0.0", optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
peepmatic-test-operator = { version = "0.73.0", path = "../test-operator" }
|
||||
peepmatic-test-operator = { version = "0.74.0", path = "../test-operator" }
|
||||
serde_test = "1.0.114"
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peepmatic-souper"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
@@ -14,6 +14,6 @@ souper-ir = { version = "2.1.0", features = ["parse"] }
|
||||
log = "0.4.8"
|
||||
|
||||
[dev-dependencies]
|
||||
peepmatic = { path = "../..", version = "0.73.0" }
|
||||
peepmatic-test-operator = { version = "0.73.0", path = "../test-operator" }
|
||||
peepmatic = { path = "../..", version = "0.74.0" }
|
||||
peepmatic-test-operator = { version = "0.74.0", path = "../test-operator" }
|
||||
wast = "35.0.0"
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
name = "peepmatic-test-operator"
|
||||
description = "Operator for usage in peepmatic tests"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
peepmatic-traits = { version = "0.73.0", path = "../traits" }
|
||||
peepmatic-traits = { version = "0.74.0", path = "../traits" }
|
||||
serde = { version = "1.0.105", features = ["derive"] }
|
||||
wast = "35.0.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peepmatic-traits"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["Nick Fitzgerald <fitzgen@gmail.com>"]
|
||||
edition = "2018"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-preopt"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Support for optimizations in Cranelift"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift-preopt"
|
||||
@@ -12,8 +12,8 @@ keywords = ["optimize", "compile", "compiler", "jit"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
# This is commented out because it doesn't build on Rust 1.25.0, which
|
||||
# cranelift currently supports.
|
||||
# rustc_apfloat = { version = "0.1.2", default-features = false }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-reader"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Cranelift textual IR reader"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift-reader"
|
||||
@@ -10,7 +10,7 @@ readme = "README.md"
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0" }
|
||||
smallvec = "1.6.1"
|
||||
target-lexicon = "0.12"
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-serde"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Serializer/Deserializer for Cranelift IR"
|
||||
repository = "https://github.com/bytecodealliance/wasmtime"
|
||||
@@ -18,8 +18,8 @@ clap = "2.32.0"
|
||||
serde = "1.0.8"
|
||||
serde_derive = "1.0.75"
|
||||
serde_json = "1.0.26"
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", features = ["enable-serde"] }
|
||||
cranelift-reader = { path = "../reader", version = "0.73.0" }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", features = ["enable-serde"] }
|
||||
cranelift-reader = { path = "../reader", version = "0.74.0" }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
description = "Umbrella for commonly-used cranelift crates"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://docs.rs/cranelift"
|
||||
@@ -12,8 +12,8 @@ keywords = ["compile", "compiler", "jit"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.73.0", default-features = false }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.74.0", default-features = false }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cranelift-wasm"
|
||||
version = "0.73.0"
|
||||
version = "0.74.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Translator from WebAssembly to Cranelift IR"
|
||||
documentation = "https://docs.rs/cranelift-wasm"
|
||||
@@ -13,9 +13,9 @@ edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
wasmparser = { version = "0.78", default-features = false }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.73.0" }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.73.0", default-features = false }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false }
|
||||
cranelift-entity = { path = "../entity", version = "0.74.0" }
|
||||
cranelift-frontend = { path = "../frontend", version = "0.74.0", default-features = false }
|
||||
hashbrown = { version = "0.9.1", optional = true }
|
||||
itertools = "0.10.0"
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
@@ -27,7 +27,7 @@ thiserror = "1.0.4"
|
||||
wat = "1.0.37"
|
||||
target-lexicon = "0.12"
|
||||
# Enable the riscv feature for cranelift-codegen, as some tests require it
|
||||
cranelift-codegen = { path = "../codegen", version = "0.73.0", default-features = false, features = ["riscv"] }
|
||||
cranelift-codegen = { path = "../codegen", version = "0.74.0", default-features = false, features = ["riscv"] }
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
|
||||
Reference in New Issue
Block a user