Dan Gohman
c6ed6b7247
"std" builds need to enable the "std" feature in cranelift-codegen.
2019-10-09 06:28:47 -07:00
Dan Gohman
ece9450a2f
Bump version to 0.45.0
2019-10-09 06:20:30 -07:00
Dan Gohman
8e1b44b29c
Make more code work with no_std. ( #407 )
...
* Make more code work with no_std.
no_std support is still incomplete, but this patch takes care of the
bulk of the straightforward parts.
2019-10-08 16:53:32 -07:00
Benjamin Bouvier
cbbd94db02
Allow wrap-around when subtracting type size to immediate in try_fold_extended_move;
2019-10-08 20:16:48 +02:00
julian-seward1
13676cafd1
RedundantReloadRemover::run: use cached state rather than allocating it new for each function. ( #1118 )
...
RedundantReloadRemover participates in the state-recycling machinery
implemented in cranelift-codegen/src/context.rs, whose goal it is to cache
per-pass state so it can be used for compilation of multiple functions without
reallocation. Unfortunately RedundantReloadRemover::run simply ignores the
cached state and reallocates it new for each function. This patch fixes that.
This reduces the number of malloc'd blocks by about 2%.
2019-10-08 18:13:35 +02:00
Dan Gohman
c0b37bb713
Merge pull request #406 from sunfishcode/wabt-workaround
...
Improve the workaround for what is now wabt issue #59 .
2019-10-07 10:21:13 -07:00
Dan Gohman
292323229c
Improve the workaround for what is now wabt issue #59 .
...
wabt's ScriptParser doesn't appear to handle paths containing
directories, so just use basenames for now.
2019-10-07 06:00:43 -07:00
Dan Gohman
53291a8497
Merge pull request #397 from sunfishcode/integrate-lightbeam
...
Integrate Lightbeam
2019-10-04 20:06:04 -07:00
Dan Gohman
6ef46e0497
Use the Lightbeam cargo feature.
2019-10-04 18:12:06 -07:00
Marcin Mielniczuk
692bb27209
Correct the clippy::use_self lint where possible. ( #114 )
2019-10-04 18:10:30 -07:00
Dan Gohman
fb2a89a1b1
Fix compilation error by bringing in Lightbeam.
2019-10-04 17:36:14 -07:00
Dan Gohman
5ccdf13b11
Rename --always-cranelift to --cranelift.
...
Also, enable use of Lightbeam in wasm2obj.
2019-10-04 17:02:31 -07:00
Dan Gohman
36756613b8
Merge remote-tracking branch 'origin/master' into integrate-lightbeam
2019-10-04 16:11:12 -07:00
Jakub Konka
daa3c3aeef
Update wasi-common version
2019-10-03 23:59:18 +02:00
Jakub Konka
603f7a9f22
Misc testsuite feature gated ( #113 )
...
* Put misc_testsuite behind a feature gate
This PR puts building and generating of misc_testsuite behind
a feature gate "misc_testsuite". This is mainly to allow projects
which pull `wasi-common` as a dependency not to have to have
`wasm32-wasi` target installed in order to build it as it currently
is.
* Update the CI
* Rename feature to wasm_tests
* Explain integration testing in the README
2019-10-03 23:08:55 +02:00
Nick Fitzgerald
a6af107257
deps: bump wasmparser dependency to 0.39.2 ( #1112 )
...
This has a bug fix for Wasm multi-value blocks that is necessary to getting the
spec tests passing.
2019-10-03 12:41:53 -07:00
Jakub Konka
da59c95f0c
Update dependencies and use Once::new() instead of ONCE_INIT
2019-10-03 10:59:45 +02:00
dependabot-preview[bot]
6749015c26
Update target-lexicon requirement from 0.4.0 to 0.8.1
...
Updates the requirements on [target-lexicon](https://github.com/CraneStation/target-lexicon ) to permit the latest version.
- [Release notes](https://github.com/CraneStation/target-lexicon/releases )
- [Commits](https://github.com/CraneStation/target-lexicon/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-10-03 10:03:59 +02:00
dependabot-preview[bot]
cf9cbbb519
Update cranelift-wasm requirement from 0.41.0 to 0.44.0
...
Updates the requirements on [cranelift-wasm](https://github.com/CraneStation/cranelift ) to permit the latest version.
- [Release notes](https://github.com/CraneStation/cranelift/releases )
- [Commits](https://github.com/CraneStation/cranelift/compare/v0.41.0...v0.44.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-10-03 10:00:46 +02:00
dependabot-preview[bot]
c097f567a9
Update cranelift-native requirement from 0.41.0 to 0.44.0
...
Updates the requirements on [cranelift-native](https://github.com/CraneStation/cranelift ) to permit the latest version.
- [Release notes](https://github.com/CraneStation/cranelift/releases )
- [Commits](https://github.com/CraneStation/cranelift/compare/v0.41.0...v0.44.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-10-03 09:58:19 +02:00
Jakub Konka
b4c60f0c36
Merge pull request #111 from CraneStation/dependabot/cargo/rand-0.7
...
Update rand requirement from 0.6 to 0.7
2019-10-03 09:54:18 +02:00
dependabot-preview[bot]
183611d796
Update rand requirement from 0.6 to 0.7
...
Updates the requirements on [rand](https://github.com/rust-random/rand ) to permit the latest version.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.6.0...0.7.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-10-03 07:53:58 +00:00
dependabot-preview[bot]
825ed4f4d4
Update cranelift-entity requirement from 0.41.0 to 0.44.0
...
Updates the requirements on [cranelift-entity](https://github.com/CraneStation/cranelift ) to permit the latest version.
- [Release notes](https://github.com/CraneStation/cranelift/releases )
- [Commits](https://github.com/CraneStation/cranelift/compare/v0.41.0...v0.44.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com >
2019-10-03 09:52:12 +02:00
Nick Fitzgerald
913d26841a
cranelift-wasm: Jump to the destination block at end of consequent
...
This commit fixes a bug where at the end of an `if..else..end`'s consequent
block, we would sometimes erroneously jump to the `else` block instead of to the
following destination block. Not good!
2019-10-02 17:33:56 -07:00
Nick Fitzgerald
b3cf7f911b
clif-util: Make the -t flag work with the wasm subcommand ( #1105 )
...
* clif-util: Make the `-t` flag work with the `wasm` subcommand
The presence of the flag was checked in the code, so it was essentially already
supported, but it was not properly configured when constructing
the CLI arguments parser.
* clif-util: also enable the `-c` flag for the `wasm` subcommand
Similar to the parent commit, this functionality is already supported, just a
mix up of the CLI parser construction made it not show up.
2019-10-02 15:41:43 -07:00
Dan Gohman
1017cbbf63
Update the compile fuzzer for Lightbeam changes.
2019-10-02 14:27:21 -07:00
Dan Gohman
8d89c3b479
Add options to wasmtime and wasm2obj to pick compilation strategy.
2019-10-02 13:59:49 -07:00
Dan Gohman
d4353f03cb
Don't check assert_trap tests when Lightbeam is enabled.
...
Lightbeam doesn't yet produce trap metadata, so it can't yet match the
expected `assert_trap` messages. Disable them for now.
2019-10-02 13:42:26 -07:00
Dan Gohman
7092499c10
Update wasmtime-rust for new API.
2019-10-02 12:52:44 -07:00
Nick Fitzgerald
10be3e4ba8
cranelift-wasm: support multi-value Wasm ( #1049 )
...
This commit introduces initial support for multi-value Wasm. Wasm blocks and
calls can now take and return an arbitrary number of values.
The encoding for multi-value blocks means that we need to keep the contents of
the "Types" section around when translating function bodies. To do this, we
introduce a `WasmTypesMap` type that maps the type indices to their parameters
and returns, construct it when parsing the "Types" section, and shepherd it
through a bunch of functions and methods when translating function bodies.
2019-10-02 12:40:35 -07:00
Dan Gohman
c43803b19c
Update dependencies.
2019-10-02 12:32:31 -07:00
Dan Gohman
239f412616
Test Lightbeam.
2019-10-02 12:32:18 -07:00
Dan Gohman
5bf2fc0ffa
Don't enable Lightbeam tests if Lightbeam isn't enabled.
2019-10-02 12:06:00 -07:00
Dan Gohman
65b8afabe6
Make use of Lightbeam configurable.
...
This adds a `--always-lightbeam` option as well as an `--always-cranelift`
option, to allow the compilation strategy to be selected via the
command-line. This also enables regular testing for Lightbeam.
2019-10-02 11:54:06 -07:00
Dan Gohman
f9d802fb1d
Format with rustfmt.
2019-10-02 11:50:44 -07:00
Dan Gohman
277d981041
Rewrite another std::string::String to alloc.
2019-10-02 11:50:44 -07:00
bjorn3
a111ba8d11
Enable all-arch feature in test-no_std.sh
2019-10-02 11:50:44 -07:00
bjorn3
bb8fa40ef0
Rustfmt
2019-10-02 11:50:44 -07:00
bjorn3
c274d81b5b
Fix it
2019-10-02 11:50:44 -07:00
bjorn3
9037e7a601
Remove std feature from cranelift-preopt
2019-10-02 11:50:44 -07:00
bjorn3
1a99ac6b4a
Always use extern crate std in cranelift-frontend
2019-10-02 11:50:44 -07:00
bjorn3
74556d45ae
Remove std feature from cranelift-codegen-meta
2019-10-02 11:50:44 -07:00
bjorn3
10e226f9ff
Always use extern crate std in cranelift-codegen
2019-10-02 11:50:44 -07:00
bjorn3
a114423d0a
Remove std feature from cranelift-entity
2019-10-02 11:50:44 -07:00
bjorn3
d25e611946
Remove std feature from cranelift-bforest
2019-10-02 11:50:44 -07:00
Dan Gohman
8c524815c3
Update dependencies.
2019-10-02 11:00:28 -07:00
Dan Gohman
8d52e389f8
Update Lightbeam for various API changes.
2019-10-02 10:10:32 -07:00
Dan Gohman
9757f7194c
Merge Lightbeam into Wasmtime.
2019-10-02 09:49:38 -07:00
Dan Gohman
4cf15bd8c4
Remove the Lightbeam submodule.
2019-10-02 09:48:05 -07:00
Dan Gohman
5832eff76f
Merge remote-tracking branch 'yurydelendik-lightbeam/cranelift-32'
2019-10-02 09:45:54 -07:00