зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1601233: Output of mach vendor rust r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D55791 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
e9dfb12b1e
Коммит
ac52ddb216
|
@ -37,6 +37,11 @@ branch = "rust_1_32"
|
|||
git = "https://github.com/hsivonen/packed_simd"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/bytecodealliance/cranelift"]
|
||||
git = "https://github.com/bytecodealliance/cranelift"
|
||||
replace-with = "vendored-sources"
|
||||
rev = "497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
|
||||
[source."https://github.com/alexcrichton/mio-named-pipes"]
|
||||
branch = "master"
|
||||
git = "https://github.com/alexcrichton/mio-named-pipes"
|
||||
|
@ -57,11 +62,6 @@ branch = "stable"
|
|||
git = "https://github.com/NikVolf/tokio-named-pipes"
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
[source."https://github.com/CraneStation/Cranelift"]
|
||||
git = "https://github.com/CraneStation/Cranelift"
|
||||
replace-with = "vendored-sources"
|
||||
rev = "152e31796970262068b4fe93e10395385bf9218c"
|
||||
|
||||
[source.crates-io]
|
||||
replace-with = "vendored-sources"
|
||||
|
||||
|
|
|
@ -198,8 +198,8 @@ name = "baldrdash"
|
|||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"cranelift-codegen 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-wasm 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-codegen 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-wasm 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -638,22 +638,22 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-bforest"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
dependencies = [
|
||||
"cranelift-entity 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-entity 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-codegen"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
dependencies = [
|
||||
"byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"cranelift-bforest 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-codegen-meta 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-codegen-shared 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-entity 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-bforest 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-codegen-meta 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-codegen-shared 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-entity 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -662,17 +662,17 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-codegen-meta"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
dependencies = [
|
||||
"cranelift-codegen-shared 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-entity 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-codegen-shared 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-entity 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-codegen-shared"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
dependencies = [
|
||||
"packed_struct 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"packed_struct_codegen 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -685,15 +685,15 @@ source = "git+https://github.com/PLSysSec/lucet_sandbox_compiler#5c22392b5b1aaa6
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-entity"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-frontend"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
dependencies = [
|
||||
"cranelift-codegen 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-codegen 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -701,12 +701,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-wasm"
|
||||
version = "0.49.0"
|
||||
source = "git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c#152e31796970262068b4fe93e10395385bf9218c"
|
||||
version = "0.51.0"
|
||||
source = "git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f#497b4e1ca1d33dfd54314366d8e3a27a9fea225f"
|
||||
dependencies = [
|
||||
"cranelift-codegen 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-entity 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-frontend 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)",
|
||||
"cranelift-codegen 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-entity 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"cranelift-frontend 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)",
|
||||
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"thiserror 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -4748,14 +4748,14 @@ dependencies = [
|
|||
"checksum coreaudio-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e8f5954c1c7ccb55340443e8b29fca24013545a5e7d72c1ca7db4fc02b982ce"
|
||||
"checksum cose 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "72fa26cb151d3ae4b70f63d67d0fed57ce04220feafafbae7f503bef7aae590d"
|
||||
"checksum cose-c 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "49726015ab0ca765144fcca61e4a7a543a16b795a777fa53f554da2fffff9a94"
|
||||
"checksum cranelift-bforest 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-codegen 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-codegen-meta 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-codegen-shared 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-bforest 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum cranelift-codegen 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum cranelift-codegen-meta 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum cranelift-codegen-shared 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum cranelift-entity 0.41.0 (git+https://github.com/PLSysSec/lucet_sandbox_compiler)" = "<none>"
|
||||
"checksum cranelift-entity 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-frontend 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-wasm 0.49.0 (git+https://github.com/CraneStation/Cranelift?rev=152e31796970262068b4fe93e10395385bf9218c)" = "<none>"
|
||||
"checksum cranelift-entity 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum cranelift-frontend 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum cranelift-wasm 0.51.0 (git+https://github.com/bytecodealliance/cranelift?rev=497b4e1ca1d33dfd54314366d8e3a27a9fea225f)" = "<none>"
|
||||
"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
|
||||
"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
|
||||
"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"ac919f6892847467e245887ffcd4dd377dc0cee182f96bb29f06e23b34d6036c","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"af367c67340fa7f6fb9a35b0aa637dcf303957f7ae7427a5f4f6356801c8bb04","src/lib.rs":"59933214e5213d003d98c6fa5f22c3c863557640189588d989ff0335b006af9a","src/map.rs":"a3b7f64cae7ec9c2a8038def315bcf90e8751552b1bc1c20b62fbb8c763866c4","src/node.rs":"28f7edd979f7b9712bc4ab30b0d2a1b8ad5485a4b1e8c09f3dcaf501b9b5ccd1","src/path.rs":"a86ee1c882c173e8af96fd53a416a0fb485dd3f045ac590ef313a9d9ecf90f56","src/pool.rs":"f6337b5417f7772e6878a160c1a40629199ff09997bdff18eb2a0ba770158600","src/set.rs":"281eb8b5ead1ffd395946464d881f9bb0e7fb61092aed701d72d2314b5f80994"},"package":null}
|
||||
{"files":{"Cargo.toml":"abc61ed8d3d7e08b1d8f5f92e60bb76d1917d2db5b797f82b9b9ff144e6ae4c4","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"af367c67340fa7f6fb9a35b0aa637dcf303957f7ae7427a5f4f6356801c8bb04","src/lib.rs":"59933214e5213d003d98c6fa5f22c3c863557640189588d989ff0335b006af9a","src/map.rs":"a3b7f64cae7ec9c2a8038def315bcf90e8751552b1bc1c20b62fbb8c763866c4","src/node.rs":"28f7edd979f7b9712bc4ab30b0d2a1b8ad5485a4b1e8c09f3dcaf501b9b5ccd1","src/path.rs":"a86ee1c882c173e8af96fd53a416a0fb485dd3f045ac590ef313a9d9ecf90f56","src/pool.rs":"f6337b5417f7772e6878a160c1a40629199ff09997bdff18eb2a0ba770158600","src/set.rs":"281eb8b5ead1ffd395946464d881f9bb0e7fb61092aed701d72d2314b5f80994"},"package":null}
|
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-bforest"
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
description = "A forest of B+-trees"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://cranelift.readthedocs.io/"
|
||||
|
@ -12,7 +12,7 @@ keywords = ["btree", "forest", "set", "map"]
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-entity = { path = "../cranelift-entity", version = "0.49.0", default-features = false }
|
||||
cranelift-entity = { path = "../cranelift-entity", version = "0.51.0", default-features = false }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"dbdf8c60b86236ce4bdc5c96594725f6c4086d259a5cc05bacf0e7421bbf9e51","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"b123f056d0d458396679c5f7f2a16d2762af0258fcda4ac14b6655a95e5a0022","src/cdsl/ast.rs":"8fdd17d9d8c4bd0cf535599a40d7da0e5bf27fdcef817cd55ab7c580c8eb6a6c","src/cdsl/cpu_modes.rs":"7ceb99df347faf5e69b34a7e0d691e9c148d15587df09e99d46a7d37238d8d06","src/cdsl/encodings.rs":"d884a564815a03c23369bcf31d13b122ae5ba84d0c80eda9312f0c0a829bf794","src/cdsl/formats.rs":"63e638305aa3ca6dd409ddf0e5e9605eeac1cc2631103e42fc6cbc87703d9b63","src/cdsl/instructions.rs":"6ad4c75e2bf634475b6a57feb1582f39dd8e670680f68f66218274ad96b6b3f4","src/cdsl/isa.rs":"ccabd6848b69eb069c10db61c7e7f86080777495714bb53d03e663c40541be94","src/cdsl/mod.rs":"0aa827923bf4c45e5ee2359573bd863e00f474acd532739f49dcd74a27553882","src/cdsl/operands.rs":"1c3411504de9c83112ff48e0ff1cfbb2e4ba5a9a15c1716f411ef31a4df59899","src/cdsl/recipes.rs":"a3b4c49488762864856f9fb181df70650fceea07219d093f3c952229c67d35e1","src/cdsl/regs.rs":"05f93ab8504ee82d7cc9811a5b40e5cd004c327577b4c0b3dd957fc422f3c013","src/cdsl/settings.rs":"e6fd9a31925743b93b11f09c9c8271bab6aa2430aa053a2601957b4487df7d77","src/cdsl/type_inference.rs":"a858ac56ba2be578d515d475dbf3dbf0d8350d38b8bda7abe9cc3374afd03d81","src/cdsl/types.rs":"763cb82b1d8ceb6be682ed6c71c8c98cab686151d177aad6d8f8ef92a37c5639","src/cdsl/typevar.rs":"52f7242a35805a82baf2c788c3eb392e2fba0fcbf47f047f32eba81f34487c7e","src/cdsl/xform.rs":"55da0c3f2403147b535ab6ae5d69c623fbe839edecf2a3af1de84420cd58402d","src/default_map.rs":"101bb0282a124f9c921f6bd095f529e8753621450d783c3273b0b0394c2c5c03","src/error.rs":"e9b11b2feb2d867b94c8810fdc5a6c4e0d9131604a0bfa5340ff2639a55100b4","src/gen_binemit.rs":"515e243420b30d1e01f8ea630282d9b6d78a715e1951f3f20392e19a48164442","src/gen_encodings.rs":"f00cded6b68a9b48c9e3cd39a8b6f0ba136f4062c8f8666109158a72c62c3ed1","src/gen_inst.rs":"fac99641622591c0529c0ef789dd83290a624fc674c91a959f426696f82044de","src/gen_legalizer.rs":"7a68c2b9fd77b6420ecb10539d9af0520374e4f2e30d5a345d98dafde157e6bd","src/gen_registers.rs":"3628949229c1cb5179ec5f655b9a1ddd0504ba74ffb9fb23741c85c9154b696f","src/gen_settings.rs":"f3cc3d31f6cc898f30606caf084f0de220db2d3b1b5e5e4145fa7c9a9a1597e2","src/gen_types.rs":"f6c090e1646a43bf2fe81ae0a7029cc6f7dc6d43285368f56d86c35a21c469a6","src/isa/arm32/mod.rs":"8e09ec1b3caf2d22dce8517b37c356047bfce9a6dea712467d867ed05c4bedaf","src/isa/arm64/mod.rs":"b01f030925d3f2af37d7df1b4a800eb7f0d24f74a46e9154fd8b6752643eb2d5","src/isa/mod.rs":"136141f99f217ba42b9e3f7f47238ab19cc974bb3bef2e2df7f7b5a683989d46","src/isa/riscv/encodings.rs":"8abb1968d917588bc5fc5f5be6dd66bdec23ac456ba65f8138237c8e891e843c","src/isa/riscv/mod.rs":"a7b461a30bbfbc1e3b33645422ff40d5b1761c30cb5d4a8aa12e9a3b7f7aee51","src/isa/riscv/recipes.rs":"c9424cffed54cc4d328879a4613b9f6a2c2b7cde7e6e17b4fccd5f661aaf92f2","src/isa/x86/encodings.rs":"71ba4d1cca1480437baecf1fe55ef8f9d759e540a697b5e09a2489567dfa8c26","src/isa/x86/instructions.rs":"e4a92f2b707e0a9af0317041eb9a8bc58a8bedcdbbe35f54dcfaf05699a50675","src/isa/x86/legalize.rs":"0624341293bc91f77a2bdc69c04a89a483ba18cc263058b92879b88127035c79","src/isa/x86/mod.rs":"49f0bc05898d1d8565e692ec2550855de15fd6cffa3b5b6e0f8d502cd813e306","src/isa/x86/opcodes.rs":"643bae64cd4050814adfb856046cf650979bec5d251a9d9a6e11bafb5a603c43","src/isa/x86/recipes.rs":"466404b1d1463fac8b7fe40bace782d8b00a970bdd415d168b7d7824b39da43a","src/isa/x86/registers.rs":"e24c9487f4c257b1089dac6bca0106cc673db77292cd000ca8e0c7e0d0103f63","src/isa/x86/settings.rs":"7f6266cd5098115ac24caea3be07a18c590c07b8cfe5f0912af3ed1d0d288330","src/lib.rs":"2491b0e74078914cb89d1778fa8174daf723fe76aaf7fed18741237d68f6df32","src/shared/entities.rs":"911b396da11188bd510de004956596f150e27540edd351c74028f99f5f3c79c5","src/shared/formats.rs":"d8cf211c392ec3c54d0101ef31b700c3222bc8e80b69a04b244953e449770336","src/shared/immediates.rs":"e4a57657f6af9853794804eb41c01204a2c13a632f44f55d90e156a4b98c5f65","src/shared/instructions.rs":"cef3be79dfe3d1c2d0c4eef91cca2852ec5454c1e6bc326d8b64ade622da0ef2","src/shared/legalize.rs":"c5545d37e2b12a65b5252b68c3e710a7f3b188e5e580615279e78757d2305a68","src/shared/mod.rs":"aceb8893d1ecd129fd949957e9d2b97384cd6994220e1cd4e1e50006d9a338fa","src/shared/settings.rs":"458d792d25172b4691771a5861fc23147397644ad64530982836cbbe0d529db9","src/shared/types.rs":"4702df132f4b5d70cc9411ec5221ba0b1bd4479252274e0223ae57b6d0331247","src/srcgen.rs":"dcfc159c8599270f17e6a978c4be255abca51556b5ef0da497faec4a4a1e62ce","src/unique_table.rs":"31aa54330ca4786af772d32e8cb6158b6504b88fa93fe177bf0c6cbe545a8d35"},"package":null}
|
||||
{"files":{"Cargo.toml":"65c94041eeaee1397206bacf6777b9f51cedae6e5309e6a0ceaf3a1a3c82f4ea","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"b123f056d0d458396679c5f7f2a16d2762af0258fcda4ac14b6655a95e5a0022","src/cdsl/ast.rs":"8fdd17d9d8c4bd0cf535599a40d7da0e5bf27fdcef817cd55ab7c580c8eb6a6c","src/cdsl/cpu_modes.rs":"7ceb99df347faf5e69b34a7e0d691e9c148d15587df09e99d46a7d37238d8d06","src/cdsl/encodings.rs":"d884a564815a03c23369bcf31d13b122ae5ba84d0c80eda9312f0c0a829bf794","src/cdsl/formats.rs":"63e638305aa3ca6dd409ddf0e5e9605eeac1cc2631103e42fc6cbc87703d9b63","src/cdsl/instructions.rs":"6ad4c75e2bf634475b6a57feb1582f39dd8e670680f68f66218274ad96b6b3f4","src/cdsl/isa.rs":"ccabd6848b69eb069c10db61c7e7f86080777495714bb53d03e663c40541be94","src/cdsl/mod.rs":"0aa827923bf4c45e5ee2359573bd863e00f474acd532739f49dcd74a27553882","src/cdsl/operands.rs":"1c3411504de9c83112ff48e0ff1cfbb2e4ba5a9a15c1716f411ef31a4df59899","src/cdsl/recipes.rs":"a3b4c49488762864856f9fb181df70650fceea07219d093f3c952229c67d35e1","src/cdsl/regs.rs":"05f93ab8504ee82d7cc9811a5b40e5cd004c327577b4c0b3dd957fc422f3c013","src/cdsl/settings.rs":"e6fd9a31925743b93b11f09c9c8271bab6aa2430aa053a2601957b4487df7d77","src/cdsl/type_inference.rs":"a858ac56ba2be578d515d475dbf3dbf0d8350d38b8bda7abe9cc3374afd03d81","src/cdsl/types.rs":"763cb82b1d8ceb6be682ed6c71c8c98cab686151d177aad6d8f8ef92a37c5639","src/cdsl/typevar.rs":"52f7242a35805a82baf2c788c3eb392e2fba0fcbf47f047f32eba81f34487c7e","src/cdsl/xform.rs":"55da0c3f2403147b535ab6ae5d69c623fbe839edecf2a3af1de84420cd58402d","src/default_map.rs":"101bb0282a124f9c921f6bd095f529e8753621450d783c3273b0b0394c2c5c03","src/error.rs":"e9b11b2feb2d867b94c8810fdc5a6c4e0d9131604a0bfa5340ff2639a55100b4","src/gen_binemit.rs":"515e243420b30d1e01f8ea630282d9b6d78a715e1951f3f20392e19a48164442","src/gen_encodings.rs":"f00cded6b68a9b48c9e3cd39a8b6f0ba136f4062c8f8666109158a72c62c3ed1","src/gen_inst.rs":"fac99641622591c0529c0ef789dd83290a624fc674c91a959f426696f82044de","src/gen_legalizer.rs":"7a68c2b9fd77b6420ecb10539d9af0520374e4f2e30d5a345d98dafde157e6bd","src/gen_registers.rs":"3628949229c1cb5179ec5f655b9a1ddd0504ba74ffb9fb23741c85c9154b696f","src/gen_settings.rs":"f3cc3d31f6cc898f30606caf084f0de220db2d3b1b5e5e4145fa7c9a9a1597e2","src/gen_types.rs":"f6c090e1646a43bf2fe81ae0a7029cc6f7dc6d43285368f56d86c35a21c469a6","src/isa/arm32/mod.rs":"8e09ec1b3caf2d22dce8517b37c356047bfce9a6dea712467d867ed05c4bedaf","src/isa/arm64/mod.rs":"b01f030925d3f2af37d7df1b4a800eb7f0d24f74a46e9154fd8b6752643eb2d5","src/isa/mod.rs":"136141f99f217ba42b9e3f7f47238ab19cc974bb3bef2e2df7f7b5a683989d46","src/isa/riscv/encodings.rs":"8abb1968d917588bc5fc5f5be6dd66bdec23ac456ba65f8138237c8e891e843c","src/isa/riscv/mod.rs":"a7b461a30bbfbc1e3b33645422ff40d5b1761c30cb5d4a8aa12e9a3b7f7aee51","src/isa/riscv/recipes.rs":"c9424cffed54cc4d328879a4613b9f6a2c2b7cde7e6e17b4fccd5f661aaf92f2","src/isa/x86/encodings.rs":"71ba4d1cca1480437baecf1fe55ef8f9d759e540a697b5e09a2489567dfa8c26","src/isa/x86/instructions.rs":"e4a92f2b707e0a9af0317041eb9a8bc58a8bedcdbbe35f54dcfaf05699a50675","src/isa/x86/legalize.rs":"0624341293bc91f77a2bdc69c04a89a483ba18cc263058b92879b88127035c79","src/isa/x86/mod.rs":"49f0bc05898d1d8565e692ec2550855de15fd6cffa3b5b6e0f8d502cd813e306","src/isa/x86/opcodes.rs":"643bae64cd4050814adfb856046cf650979bec5d251a9d9a6e11bafb5a603c43","src/isa/x86/recipes.rs":"466404b1d1463fac8b7fe40bace782d8b00a970bdd415d168b7d7824b39da43a","src/isa/x86/registers.rs":"e24c9487f4c257b1089dac6bca0106cc673db77292cd000ca8e0c7e0d0103f63","src/isa/x86/settings.rs":"7f6266cd5098115ac24caea3be07a18c590c07b8cfe5f0912af3ed1d0d288330","src/lib.rs":"2491b0e74078914cb89d1778fa8174daf723fe76aaf7fed18741237d68f6df32","src/shared/entities.rs":"911b396da11188bd510de004956596f150e27540edd351c74028f99f5f3c79c5","src/shared/formats.rs":"d8cf211c392ec3c54d0101ef31b700c3222bc8e80b69a04b244953e449770336","src/shared/immediates.rs":"e4a57657f6af9853794804eb41c01204a2c13a632f44f55d90e156a4b98c5f65","src/shared/instructions.rs":"cef3be79dfe3d1c2d0c4eef91cca2852ec5454c1e6bc326d8b64ade622da0ef2","src/shared/legalize.rs":"120e4f6faaf9f0214588f921ae8c522bcb3dda2a80e11b7adccc67238f02162e","src/shared/mod.rs":"bc497c14d083c29eefe4935cff9cd1bd138c071bc50f787248727a3858dc69f3","src/shared/settings.rs":"5775bb6b760ed9f54370b2ab0ae6bc020cafc6ad1369e90fec6144375641c27f","src/shared/types.rs":"4702df132f4b5d70cc9411ec5221ba0b1bd4479252274e0223ae57b6d0331247","src/srcgen.rs":"dcfc159c8599270f17e6a978c4be255abca51556b5ef0da497faec4a4a1e62ce","src/unique_table.rs":"31aa54330ca4786af772d32e8cb6158b6504b88fa93fe177bf0c6cbe545a8d35"},"package":null}
|
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
name = "cranelift-codegen-meta"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
description = "Metaprogram for cranelift-codegen code generator library"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
repository = "https://github.com/bytecodealliance/cranelift"
|
||||
|
@ -9,8 +9,8 @@ readme = "README.md"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen-shared = { path = "../shared", version = "0.49.0" }
|
||||
cranelift-entity = { path = "../../cranelift-entity", version = "0.49.0" }
|
||||
cranelift-codegen-shared = { path = "../shared", version = "0.51.0" }
|
||||
cranelift-entity = { path = "../../cranelift-entity", version = "0.51.0" }
|
||||
|
||||
[badges]
|
||||
maintenance = { status = "experimental" }
|
||||
|
|
|
@ -877,6 +877,16 @@ pub(crate) fn define(insts: &InstructionGroup, imm: &Immediates) -> TransformGro
|
|||
],
|
||||
);
|
||||
|
||||
narrow.legalize(
|
||||
def!(a = bitrev.I128(x)),
|
||||
vec![
|
||||
def!((xl, xh) = isplit(x)),
|
||||
def!(yh = bitrev(xl)),
|
||||
def!(yl = bitrev(xh)),
|
||||
def!(a = iconcat(yl, yh)),
|
||||
],
|
||||
);
|
||||
|
||||
// Floating-point sign manipulations.
|
||||
for &(ty, const_inst, minus_zero) in &[
|
||||
(F32, f32const, &Literal::bits(&imm.ieee32, 0x8000_0000)),
|
||||
|
|
|
@ -92,6 +92,8 @@ impl Definitions {
|
|||
}
|
||||
}
|
||||
|
||||
Vec::from_iter(format_structures.into_iter().map(|(_, v)| v))
|
||||
let mut result = Vec::from_iter(format_structures.into_iter().map(|(_, v)| v));
|
||||
result.sort_by_key(|format| format.name);
|
||||
result
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,8 +21,8 @@ pub(crate) fn define() -> SettingGroup {
|
|||
r#"
|
||||
Run the Cranelift IR verifier at strategic times during compilation.
|
||||
|
||||
This makes compilation slower but catches many bugs. The verifier is
|
||||
disabled by default, except when reading Cranelift IR from a text file.
|
||||
This makes compilation slower but catches many bugs. The verifier is always enabled by
|
||||
default, which is useful during development.
|
||||
"#,
|
||||
true,
|
||||
);
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"730d9c2a4a7a06f59efab18c2e68e8906f6b7370865b6f7b872fbd1717a5ab00","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"a410bc2f5dcbde499c0cd299c2620bc8111e3c5b3fccdd9e2d85caf3c24fdab3","src/condcodes.rs":"b8d433b2217b86e172d25b6c65a3ce0cc8ca221062cad1b28b0c78d2159fbda9","src/constant_hash.rs":"ffc619f45aad62c6fdcb83553a05879691a72e9a0103375b2d6cc12d52cf72d0","src/constants.rs":"fed03a10a6316e06aa174091db6e7d1fbb5f73c82c31193012ec5ab52f1c603a","src/isa/mod.rs":"428a950eca14acbe783899ccb1aecf15027f8cbe205578308ebde203d10535f3","src/isa/x86/encoding_bits.rs":"4b71d7d8cda31497d11b3747deec9d905e6e7bb2f8de1f4d3eb2f5557ab5e395","src/isa/x86/mod.rs":"01ef4e4d7437f938badbe2137892183c1ac684da0f68a5bec7e06aad34f43b9b","src/lib.rs":"8a6cd81c1b73fc218682433d55f4be860684e3527b7dcac38cdb3f4d6f959a84"},"package":null}
|
||||
{"files":{"Cargo.toml":"83d8a251c234fe53394e56a30d1ffcf305490ecd7ba21483dc647c84b946d334","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"a410bc2f5dcbde499c0cd299c2620bc8111e3c5b3fccdd9e2d85caf3c24fdab3","src/condcodes.rs":"b8d433b2217b86e172d25b6c65a3ce0cc8ca221062cad1b28b0c78d2159fbda9","src/constant_hash.rs":"ffc619f45aad62c6fdcb83553a05879691a72e9a0103375b2d6cc12d52cf72d0","src/constants.rs":"fed03a10a6316e06aa174091db6e7d1fbb5f73c82c31193012ec5ab52f1c603a","src/isa/mod.rs":"428a950eca14acbe783899ccb1aecf15027f8cbe205578308ebde203d10535f3","src/isa/x86/encoding_bits.rs":"4b71d7d8cda31497d11b3747deec9d905e6e7bb2f8de1f4d3eb2f5557ab5e395","src/isa/x86/mod.rs":"01ef4e4d7437f938badbe2137892183c1ac684da0f68a5bec7e06aad34f43b9b","src/lib.rs":"8a6cd81c1b73fc218682433d55f4be860684e3527b7dcac38cdb3f4d6f959a84"},"package":null}
|
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-codegen-shared"
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
description = "For code shared between cranelift-codegen-meta and cranelift-codegen"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
repository = "https://github.com/bytecodealliance/cranelift"
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-codegen"
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
description = "Low-level code generator library"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://cranelift.readthedocs.io/"
|
||||
|
@ -13,9 +13,9 @@ build = "build.rs"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen-shared = { path = "./shared", version = "0.49.0" }
|
||||
cranelift-entity = { path = "../cranelift-entity", version = "0.49.0" }
|
||||
cranelift-bforest = { path = "../cranelift-bforest", version = "0.49.0" }
|
||||
cranelift-codegen-shared = { path = "./shared", version = "0.51.0" }
|
||||
cranelift-entity = { path = "../cranelift-entity", version = "0.51.0" }
|
||||
cranelift-bforest = { path = "../cranelift-bforest", version = "0.51.0" }
|
||||
hashbrown = { version = "0.6", optional = true }
|
||||
target-lexicon = "0.9"
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
|
@ -29,7 +29,7 @@ byteorder = { version = "1.3.2", default-features = false }
|
|||
# accomodated in `tests`.
|
||||
|
||||
[build-dependencies]
|
||||
cranelift-codegen-meta = { path = "meta", version = "0.49.0" }
|
||||
cranelift-codegen-meta = { path = "meta", version = "0.51.0" }
|
||||
|
||||
[features]
|
||||
default = ["std", "basic-blocks"]
|
||||
|
|
|
@ -10,7 +10,7 @@ use core::slice::{Iter, IterMut};
|
|||
|
||||
/// Contents of a jump table.
|
||||
///
|
||||
/// All jump tables use 0-based indexing and densely populated.
|
||||
/// All jump tables use 0-based indexing and are densely populated.
|
||||
#[derive(Clone)]
|
||||
pub struct JumpTableData {
|
||||
// Table entries.
|
||||
|
|
|
@ -65,13 +65,13 @@ impl<'a> CssaVerifier<'a> {
|
|||
|
||||
for (idx, &val) in values.iter().enumerate() {
|
||||
if !self.func.dfg.value_is_valid(val) {
|
||||
return fatal!(errors, val, "Invalid value in {}", vreg);
|
||||
return errors.fatal((val, format!("Invalid value in {}", vreg)));
|
||||
}
|
||||
if !self.func.dfg.value_is_attached(val) {
|
||||
return fatal!(errors, val, "Detached value in {}", vreg);
|
||||
return errors.fatal((val, format!("Detached value in {}", vreg)));
|
||||
}
|
||||
if self.liveness.get(val).is_none() {
|
||||
return fatal!(errors, val, "Value in {} has no live range", vreg);
|
||||
return errors.fatal((val, format!("Value in {} has no live range", vreg)));
|
||||
};
|
||||
|
||||
// Check topological ordering with the previous values in the virtual register.
|
||||
|
@ -82,29 +82,31 @@ impl<'a> CssaVerifier<'a> {
|
|||
let prev_ebb = self.func.layout.pp_ebb(prev_def);
|
||||
|
||||
if prev_def == def {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
val,
|
||||
format!(
|
||||
"Values {} and {} in {} = {} defined at the same program point",
|
||||
prev_val,
|
||||
val,
|
||||
vreg,
|
||||
DisplayList(values)
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
// Enforce topological ordering of defs in the virtual register.
|
||||
if self.preorder.dominates(def_ebb, prev_ebb)
|
||||
&& self.domtree.dominates(def, prev_def, &self.func.layout)
|
||||
{
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
val,
|
||||
format!(
|
||||
"Value in {} = {} def dominates previous {}",
|
||||
vreg,
|
||||
DisplayList(values),
|
||||
prev_val
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -119,14 +121,15 @@ impl<'a> CssaVerifier<'a> {
|
|||
&& self.domtree.dominates(prev_def, def, &self.func.layout)
|
||||
{
|
||||
if self.liveness[prev_val].overlaps_def(def, def_ebb, &self.func.layout) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
val,
|
||||
format!(
|
||||
"Value def in {} = {} interferes with {}",
|
||||
vreg,
|
||||
DisplayList(values),
|
||||
prev_val
|
||||
);
|
||||
),
|
||||
));
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
@ -152,13 +155,13 @@ impl<'a> CssaVerifier<'a> {
|
|||
|
||||
for (&ebb_param, &pred_arg) in ebb_params.iter().zip(pred_args) {
|
||||
if !self.virtregs.same_class(ebb_param, pred_arg) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
pred,
|
||||
format!(
|
||||
"{} and {} must be in the same virtual register",
|
||||
ebb_param,
|
||||
pred_arg
|
||||
);
|
||||
ebb_param, pred_arg
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,13 +67,10 @@ impl<'a> FlagsVerifier<'a> {
|
|||
}
|
||||
}
|
||||
Some(old) if old != value => {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
ebb,
|
||||
"conflicting live-in CPU flags: {} and {}",
|
||||
old,
|
||||
value
|
||||
);
|
||||
format!("conflicting live-in CPU flags: {} and {}", old, value),
|
||||
));
|
||||
}
|
||||
x => assert_eq!(x, Some(value)),
|
||||
}
|
||||
|
@ -104,7 +101,9 @@ impl<'a> FlagsVerifier<'a> {
|
|||
// We've reached the def of `live_flags`, so it is no longer live above.
|
||||
live_val = None;
|
||||
} else if self.func.dfg.value_type(res).is_flags() {
|
||||
return fatal!(errors, inst, "{} clobbers live CPU flags in {}", res, live);
|
||||
errors
|
||||
.report((inst, format!("{} clobbers live CPU flags in {}", res, live)));
|
||||
return Err(());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,7 +115,11 @@ impl<'a> FlagsVerifier<'a> {
|
|||
.map_or(false, |c| c.clobbers_flags)
|
||||
&& live_val.is_some()
|
||||
{
|
||||
return fatal!(errors, inst, "encoding clobbers live CPU flags in {}", live);
|
||||
errors.report((
|
||||
inst,
|
||||
format!("encoding clobbers live CPU flags in {}", live),
|
||||
));
|
||||
return Err(());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,7 +167,10 @@ fn merge(
|
|||
) -> VerifierStepResult<()> {
|
||||
if let Some(va) = *a {
|
||||
if b != va {
|
||||
return fatal!(errors, inst, "conflicting live CPU flags: {} and {}", va, b);
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!("conflicting live CPU flags: {} and {}", va, b),
|
||||
));
|
||||
}
|
||||
} else {
|
||||
*a = Some(b);
|
||||
|
|
|
@ -54,7 +54,9 @@ impl<'a> LivenessVerifier<'a> {
|
|||
for &val in self.func.dfg.ebb_params(ebb) {
|
||||
let lr = match self.liveness.get(val) {
|
||||
Some(lr) => lr,
|
||||
None => return fatal!(errors, ebb, "EBB arg {} has no live range", val),
|
||||
None => {
|
||||
return errors.fatal((ebb, format!("EBB arg {} has no live range", val)))
|
||||
}
|
||||
};
|
||||
self.check_lr(ebb.into(), val, lr, errors)?;
|
||||
}
|
||||
|
@ -72,30 +74,32 @@ impl<'a> LivenessVerifier<'a> {
|
|||
for &val in self.func.dfg.inst_results(inst) {
|
||||
let lr = match self.liveness.get(val) {
|
||||
Some(lr) => lr,
|
||||
None => return fatal!(errors, inst, "{} has no live range", val),
|
||||
None => return errors.fatal((inst, format!("{} has no live range", val))),
|
||||
};
|
||||
self.check_lr(inst.into(), val, lr, errors)?;
|
||||
|
||||
if encoding.is_legal() {
|
||||
// A legal instruction is not allowed to define ghost values.
|
||||
if lr.affinity.is_unassigned() {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"{} is a ghost value defined by a real [{}] instruction",
|
||||
val,
|
||||
self.isa.encoding_info().display(encoding)
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
} else if !lr.affinity.is_unassigned() {
|
||||
// A non-encoded instruction can only define ghost values.
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"{} is a real {} value defined by a ghost instruction",
|
||||
val,
|
||||
lr.affinity.display(&self.isa.register_info())
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -103,23 +107,24 @@ impl<'a> LivenessVerifier<'a> {
|
|||
for &val in self.func.dfg.inst_args(inst) {
|
||||
let lr = match self.liveness.get(val) {
|
||||
Some(lr) => lr,
|
||||
None => return fatal!(errors, inst, "{} has no live range", val),
|
||||
None => return errors.fatal((inst, format!("{} has no live range", val))),
|
||||
};
|
||||
|
||||
debug_assert!(self.func.layout.inst_ebb(inst).unwrap() == ebb);
|
||||
if !lr.reaches_use(inst, ebb, &self.func.layout) {
|
||||
return fatal!(errors, inst, "{} is not live at this use", val);
|
||||
return errors.fatal((inst, format!("{} is not live at this use", val)));
|
||||
}
|
||||
|
||||
// A legal instruction is not allowed to depend on ghost values.
|
||||
if encoding.is_legal() && lr.affinity.is_unassigned() {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"{} is a ghost value used by a real [{}] instruction",
|
||||
val,
|
||||
self.isa.encoding_info().display(encoding)
|
||||
);
|
||||
self.isa.encoding_info().display(encoding),
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -142,17 +147,14 @@ impl<'a> LivenessVerifier<'a> {
|
|||
ExpandedProgramPoint::Inst(i) => i.into(),
|
||||
};
|
||||
if lr.def() != def {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
loc,
|
||||
"Wrong live range def ({}) for {}",
|
||||
lr.def(),
|
||||
val
|
||||
);
|
||||
format!("Wrong live range def ({}) for {}", lr.def(), val),
|
||||
));
|
||||
}
|
||||
if lr.is_dead() {
|
||||
if !lr.is_local() {
|
||||
return fatal!(errors, loc, "Dead live range {} should be local", val);
|
||||
return errors.fatal((loc, format!("Dead live range {} should be local", val)));
|
||||
} else {
|
||||
return Ok(());
|
||||
}
|
||||
|
@ -163,17 +165,14 @@ impl<'a> LivenessVerifier<'a> {
|
|||
};
|
||||
match lr.def_local_end().into() {
|
||||
ExpandedProgramPoint::Ebb(e) => {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
loc,
|
||||
"Def local range for {} can't end at {}",
|
||||
val,
|
||||
e
|
||||
);
|
||||
format!("Def local range for {} can't end at {}", val, e),
|
||||
));
|
||||
}
|
||||
ExpandedProgramPoint::Inst(i) => {
|
||||
if self.func.layout.inst_ebb(i) != Some(def_ebb) {
|
||||
return fatal!(errors, loc, "Def local end for {} in wrong ebb", val);
|
||||
return errors.fatal((loc, format!("Def local end for {} in wrong ebb", val)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -181,25 +180,21 @@ impl<'a> LivenessVerifier<'a> {
|
|||
// Now check the live-in intervals against the CFG.
|
||||
for (mut ebb, end) in lr.liveins() {
|
||||
if !l.is_ebb_inserted(ebb) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
loc,
|
||||
"{} livein at {} which is not in the layout",
|
||||
val,
|
||||
ebb
|
||||
);
|
||||
format!("{} livein at {} which is not in the layout", val, ebb),
|
||||
));
|
||||
}
|
||||
let end_ebb = match l.inst_ebb(end) {
|
||||
Some(e) => e,
|
||||
None => {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
loc,
|
||||
format!(
|
||||
"{} livein for {} ends at {} which is not in the layout",
|
||||
val,
|
||||
ebb,
|
||||
end
|
||||
);
|
||||
val, ebb, end
|
||||
),
|
||||
));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -208,13 +203,10 @@ impl<'a> LivenessVerifier<'a> {
|
|||
// If `val` is live-in at `ebb`, it must be live at all the predecessors.
|
||||
for BasicBlock { inst: pred, ebb } in self.cfg.pred_iter(ebb) {
|
||||
if !lr.reaches_use(pred, ebb, &self.func.layout) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
pred,
|
||||
"{} is live in to {} but not live at predecessor",
|
||||
val,
|
||||
ebb
|
||||
);
|
||||
format!("{} is live in to {} but not live at predecessor", val, ebb),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -224,13 +216,10 @@ impl<'a> LivenessVerifier<'a> {
|
|||
ebb = match l.next_ebb(ebb) {
|
||||
Some(e) => e,
|
||||
None => {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
loc,
|
||||
"end of {} livein ({}) never reached",
|
||||
val,
|
||||
end_ebb
|
||||
);
|
||||
format!("end of {} livein ({}) never reached", val, end_ebb),
|
||||
));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -104,14 +104,15 @@ impl<'a> LocationVerifier<'a> {
|
|||
}
|
||||
|
||||
// TODO: We could give a better error message here.
|
||||
fatal!(
|
||||
errors,
|
||||
errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"{} constraints not satisfied in: {}\n{}",
|
||||
self.encinfo.display(enc),
|
||||
self.func.dfg.display_inst(inst, self.isa),
|
||||
self.func.display(self.isa)
|
||||
)
|
||||
self.func.display(self.isa),
|
||||
),
|
||||
))
|
||||
}
|
||||
|
||||
/// Check that the result values produced by a ghost instruction are not assigned a value
|
||||
|
@ -126,13 +127,14 @@ impl<'a> LocationVerifier<'a> {
|
|||
for &res in results {
|
||||
let loc = self.func.locations[res];
|
||||
if loc.is_assigned() {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"ghost result {} value must not have a location ({}).",
|
||||
res,
|
||||
loc.display(&self.reginfo)
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -214,50 +216,51 @@ impl<'a> LocationVerifier<'a> {
|
|||
ir::ArgumentLoc::Unassigned => {}
|
||||
ir::ArgumentLoc::Reg(reg) => {
|
||||
if loc != ir::ValueLoc::Reg(reg) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"ABI expects {} in {}, got {}",
|
||||
value,
|
||||
abi.location.display(&self.reginfo),
|
||||
loc.display(&self.reginfo)
|
||||
);
|
||||
loc.display(&self.reginfo),
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
ir::ArgumentLoc::Stack(offset) => {
|
||||
if let ir::ValueLoc::Stack(ss) = loc {
|
||||
let slot = &self.func.stack_slots[ss];
|
||||
if slot.kind != want_kind {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"call argument {} should be in a {} slot, but {} is {}",
|
||||
value,
|
||||
want_kind,
|
||||
ss,
|
||||
slot.kind
|
||||
);
|
||||
value, want_kind, ss, slot.kind
|
||||
),
|
||||
));
|
||||
}
|
||||
if slot.offset.unwrap() != offset {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"ABI expects {} at stack offset {}, but {} is at {}",
|
||||
value,
|
||||
offset,
|
||||
ss,
|
||||
slot.offset.unwrap()
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
} else {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"ABI expects {} at stack offset {}, got {}",
|
||||
value,
|
||||
offset,
|
||||
loc.display(&self.reginfo)
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -281,21 +284,23 @@ impl<'a> LocationVerifier<'a> {
|
|||
|
||||
if let Some(d) = divert.diversion(arg) {
|
||||
if d.to != src {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"inconsistent with current diversion to {}",
|
||||
d.to.display(&self.reginfo)
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
} else if self.func.locations[arg] != src {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"inconsistent with global location {} ({})",
|
||||
self.func.locations[arg].display(&self.reginfo),
|
||||
self.func.dfg.display_inst(inst, None)
|
||||
);
|
||||
),
|
||||
));
|
||||
}
|
||||
|
||||
divert.apply(&self.func.dfg[inst]);
|
||||
|
@ -338,14 +343,15 @@ impl<'a> LocationVerifier<'a> {
|
|||
val_to_remove.push(value)
|
||||
}
|
||||
} else if lr.is_livein(ebb, &self.func.layout) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"SingleDest: {} is diverted to {} and live in to {}",
|
||||
value,
|
||||
d.to.display(&self.reginfo),
|
||||
ebb
|
||||
);
|
||||
ebb,
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
if is_after_branch && unique_predecessor {
|
||||
|
@ -360,26 +366,28 @@ impl<'a> LocationVerifier<'a> {
|
|||
let lr = &liveness[value];
|
||||
if let Some(ebb) = ebb {
|
||||
if lr.is_livein(ebb, &self.func.layout) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"Table.default: {} is diverted to {} and live in to {}",
|
||||
value,
|
||||
d.to.display(&self.reginfo),
|
||||
ebb
|
||||
);
|
||||
ebb,
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
for ebb in self.func.jump_tables[jt].iter() {
|
||||
if lr.is_livein(*ebb, &self.func.layout) {
|
||||
return fatal!(
|
||||
errors,
|
||||
return errors.fatal((
|
||||
inst,
|
||||
format!(
|
||||
"Table.case: {} is diverted to {} and live in to {}",
|
||||
value,
|
||||
d.to.display(&self.reginfo),
|
||||
ebb
|
||||
);
|
||||
ebb,
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"15a77d2200b21a4e379aa4bf122c1f6234efe4f2d676933cbb26ef2a0570f3cd","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"96ceffbfd88fb06e3b41aa4d3087cffbbf8441d04eba7ab09662a72ab600a321","src/boxed_slice.rs":"ab975c39a853b8550d25b4f405a6d153af6818f84ef026907d889cc52116772b","src/iter.rs":"4a4d3309fe9aad14fd7702f02459f4277b4ddb50dba700e58dcc75665ffebfb3","src/keys.rs":"b8c2fba26dee15bf3d1880bb2b41e8d66fe1428d242ee6d9fd30ee94bbd0407d","src/lib.rs":"0cd9145c1528f95ee7770765faa2f9a1051791144e2936789248b25fdfe06fc1","src/list.rs":"4bf609eb7cc7c000c18da746596d5fcc67eece3f919ee2d76e19f6ac371640d1","src/map.rs":"546b36be4cbbd2423bacbed69cbe114c63538c3f635e15284ab8e4223e717705","src/packed_option.rs":"dccb3dd6fc87eba0101de56417f21cab67a4394831df9fa41e3bbddb70cdf694","src/primary.rs":"30d5e2ab8427fd2b2c29da395812766049e3c40845cc887af3ee233dba91a063","src/set.rs":"dd04a4954863cc106e168a7d9a89bcebd1c4e045e7ef9ec1f0dadc0a8eaf919d","src/sparse.rs":"536e31fdcf64450526f5e5b85e97406c26b998bc7e0d8161b6b449c24265449f"},"package":null}
|
||||
{"files":{"Cargo.toml":"6cf98e2d02e873cef38801f71a47ac39f7941bc702bd44cc54cc4a910d1bec54","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"96ceffbfd88fb06e3b41aa4d3087cffbbf8441d04eba7ab09662a72ab600a321","src/boxed_slice.rs":"ab975c39a853b8550d25b4f405a6d153af6818f84ef026907d889cc52116772b","src/iter.rs":"4a4d3309fe9aad14fd7702f02459f4277b4ddb50dba700e58dcc75665ffebfb3","src/keys.rs":"b8c2fba26dee15bf3d1880bb2b41e8d66fe1428d242ee6d9fd30ee94bbd0407d","src/lib.rs":"0cd9145c1528f95ee7770765faa2f9a1051791144e2936789248b25fdfe06fc1","src/list.rs":"4bf609eb7cc7c000c18da746596d5fcc67eece3f919ee2d76e19f6ac371640d1","src/map.rs":"546b36be4cbbd2423bacbed69cbe114c63538c3f635e15284ab8e4223e717705","src/packed_option.rs":"dccb3dd6fc87eba0101de56417f21cab67a4394831df9fa41e3bbddb70cdf694","src/primary.rs":"30d5e2ab8427fd2b2c29da395812766049e3c40845cc887af3ee233dba91a063","src/set.rs":"dd04a4954863cc106e168a7d9a89bcebd1c4e045e7ef9ec1f0dadc0a8eaf919d","src/sparse.rs":"536e31fdcf64450526f5e5b85e97406c26b998bc7e0d8161b6b449c24265449f"},"package":null}
|
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-entity"
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
description = "Data structures using entity references as mapping keys"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://cranelift.readthedocs.io/"
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"7fe9844d29dd609de7973ba2dc44589ec824d2f2c3f9cf07e0cd0c0335b33684","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"dea43e8044284df50f8b8772e9b48ba8b109b45c74111ff73619775d57ad8d67","src/frontend.rs":"c8ba698562fe845282e3118cd2a66656161c2babe61096c62fbc373ec5380753","src/lib.rs":"2a8efc913364bdb700268fb66a6132d2d48f3fe10fe80443fcf17d9480a0f167","src/ssa.rs":"3e4dd91c59e3e5acde2ec758fc1bc4c5783940bce8637b7b67b180cfab0007c3","src/switch.rs":"6a31c37ed9e93ee943b7e98e28646804497d64a5a6a55aa1924c5feb27b52dfa","src/variable.rs":"399437bd7d2ac11a7a748bad7dd1f6dac58824d374ec318f36367a9d077cc225"},"package":null}
|
||||
{"files":{"Cargo.toml":"5564c8fe72dd80449647fcc8488f461f22b234929cfe534d13f600825d661d3f","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"dea43e8044284df50f8b8772e9b48ba8b109b45c74111ff73619775d57ad8d67","src/frontend.rs":"c8ba698562fe845282e3118cd2a66656161c2babe61096c62fbc373ec5380753","src/lib.rs":"2a8efc913364bdb700268fb66a6132d2d48f3fe10fe80443fcf17d9480a0f167","src/ssa.rs":"3e4dd91c59e3e5acde2ec758fc1bc4c5783940bce8637b7b67b180cfab0007c3","src/switch.rs":"6a31c37ed9e93ee943b7e98e28646804497d64a5a6a55aa1924c5feb27b52dfa","src/variable.rs":"399437bd7d2ac11a7a748bad7dd1f6dac58824d374ec318f36367a9d077cc225"},"package":null}
|
|
@ -1,7 +1,7 @@
|
|||
[package]
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
name = "cranelift-frontend"
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
description = "Cranelift IR builder helper"
|
||||
license = "Apache-2.0 WITH LLVM-exception"
|
||||
documentation = "https://cranelift.readthedocs.io/"
|
||||
|
@ -11,7 +11,7 @@ readme = "README.md"
|
|||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
cranelift-codegen = { path = "../cranelift-codegen", version = "0.49.0", default-features = false }
|
||||
cranelift-codegen = { path = "../cranelift-codegen", version = "0.51.0", default-features = false }
|
||||
target-lexicon = "0.9"
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
hashbrown = { version = "0.6", optional = true }
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"files":{"Cargo.toml":"8fd136a2f06f597fcb24dedf6bcaf7e5b272d349e4cdc52fa3040d683aa99c2d","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"f46f9c5df1b10bad0e87d9c2ad9f5e65bbb6749ac8843cd80ec357daa3b22c3e","src/code_translator.rs":"811d989cd940d354c3274c373b66dcb52d1e03455a04b7f67c0e93de9c5660e9","src/environ/dummy.rs":"00cf060a228b20e5537e50363e5b2f7d9dbc9426babc32c55dc41bf0eefc0297","src/environ/mod.rs":"b046f5344a1017357c1ee9d661d2193e0247327df293436fa1381a0f45f80584","src/environ/spec.rs":"f9ba46cfa9efcaf0e6cff1f3f43ec54ebf43f2e9fb3552dd466d244ebb8f7f71","src/func_translator.rs":"32fbe33ecc57f61068ac0235213b9775f400c8b45e3f2ac5caa0bd1ff8b45bee","src/lib.rs":"c6e0c2d227cb0647a4d32572e70ed33297693f381ad4fe8c0a340de88db6b8bd","src/module_translator.rs":"5e1bf9471d6f4f317bb2fb9b8697b5b08f7950520017c2869e69133e7f17a2b7","src/sections_translator.rs":"e761c5a5a51423b27a83178053a437d46b7d28322596af891d801162c4941fef","src/state/func_state.rs":"8394eb9b446fc286222b806c55689c19beb0a5b6c78c1d8dee7c19b0d5693661","src/state/mod.rs":"20014cb93615467b4d20321b52f67f66040417efcaa739a4804093bb559eed19","src/state/module_state.rs":"2f299b043deb806b48583fe54bbb46708f7d8a1454b7be0eb285568064e5a7f9","src/translation_utils.rs":"e736c98a88c8f984e24de80b6cda17c4994cdcac41c57a516035ee0f195f30af","tests/wasm_testsuite.rs":"c1160bde8b0bd5d7d2eb5b6a066b60025dcebf758b1794fa32235c07e2fb2be2"},"package":null}
|
||||
{"files":{"Cargo.toml":"09183eb6dfd8a6d33a033b46c32f8f2eca2f052af135a7b0599ecc8d9409f38c","LICENSE":"268872b9816f90fd8e85db5a28d33f8150ebb8dd016653fb39ef1f94f2686bc5","README.md":"f46f9c5df1b10bad0e87d9c2ad9f5e65bbb6749ac8843cd80ec357daa3b22c3e","src/code_translator.rs":"811d989cd940d354c3274c373b66dcb52d1e03455a04b7f67c0e93de9c5660e9","src/environ/dummy.rs":"00cf060a228b20e5537e50363e5b2f7d9dbc9426babc32c55dc41bf0eefc0297","src/environ/mod.rs":"b046f5344a1017357c1ee9d661d2193e0247327df293436fa1381a0f45f80584","src/environ/spec.rs":"f9ba46cfa9efcaf0e6cff1f3f43ec54ebf43f2e9fb3552dd466d244ebb8f7f71","src/func_translator.rs":"32fbe33ecc57f61068ac0235213b9775f400c8b45e3f2ac5caa0bd1ff8b45bee","src/lib.rs":"c6e0c2d227cb0647a4d32572e70ed33297693f381ad4fe8c0a340de88db6b8bd","src/module_translator.rs":"5e1bf9471d6f4f317bb2fb9b8697b5b08f7950520017c2869e69133e7f17a2b7","src/sections_translator.rs":"e761c5a5a51423b27a83178053a437d46b7d28322596af891d801162c4941fef","src/state/func_state.rs":"8394eb9b446fc286222b806c55689c19beb0a5b6c78c1d8dee7c19b0d5693661","src/state/mod.rs":"20014cb93615467b4d20321b52f67f66040417efcaa739a4804093bb559eed19","src/state/module_state.rs":"2f299b043deb806b48583fe54bbb46708f7d8a1454b7be0eb285568064e5a7f9","src/translation_utils.rs":"e736c98a88c8f984e24de80b6cda17c4994cdcac41c57a516035ee0f195f30af","tests/wasm_testsuite.rs":"c1160bde8b0bd5d7d2eb5b6a066b60025dcebf758b1794fa32235c07e2fb2be2"},"package":null}
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "cranelift-wasm"
|
||||
version = "0.49.0"
|
||||
version = "0.51.0"
|
||||
authors = ["The Cranelift Project Developers"]
|
||||
description = "Translator from WebAssembly to Cranelift IR"
|
||||
repository = "https://github.com/bytecodealliance/cranelift"
|
||||
|
@ -12,9 +12,9 @@ edition = "2018"
|
|||
|
||||
[dependencies]
|
||||
wasmparser = { version = "0.39.2", default-features = false }
|
||||
cranelift-codegen = { path = "../cranelift-codegen", version = "0.49.0", default-features = false }
|
||||
cranelift-entity = { path = "../cranelift-entity", version = "0.49.0" }
|
||||
cranelift-frontend = { path = "../cranelift-frontend", version = "0.49.0", default-features = false }
|
||||
cranelift-codegen = { path = "../cranelift-codegen", version = "0.51.0", default-features = false }
|
||||
cranelift-entity = { path = "../cranelift-entity", version = "0.51.0" }
|
||||
cranelift-frontend = { path = "../cranelift-frontend", version = "0.51.0", default-features = false }
|
||||
hashbrown = { version = "0.6", optional = true }
|
||||
log = { version = "0.4.6", default-features = false }
|
||||
serde = { version = "1.0.94", features = ["derive"], optional = true }
|
||||
|
|
Загрузка…
Ссылка в новой задаче