Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge cranelift 0.43.1 #4

Merged
merged 283 commits into from
Sep 23, 2019
Merged

Merge cranelift 0.43.1 #4

merged 283 commits into from
Sep 23, 2019

Conversation

bjfish
Copy link

@bjfish bjfish commented Sep 21, 2019

aleksmelnikov and others added 30 commits July 8, 2019 15:21
Fix for `https://github.com/CraneStation/cranelift/issues/826`.
This fix will require 1.36 minimal version for all Cranelift. Right?

Update cranelift-simplejit/src/memory.rs

Co-Authored-By: bjorn3 <[email protected]>

Update memory.rs
This assert was added when porting legalization from Python to Rust and
doesn't hold when we have derived type variables.
* Add support for some serde serialization
Contains fixes from @bnjbvr to codegen as a part of bnjbvr#2; necessary for SIMD features to work
Also, ties SIMD ISA predicates to the shared enable_simd setting
abrown and others added 25 commits September 17, 2019 09:29
Enables automated fuzzing on Fuzzit. Runs fuzz regression tests
every push and PR. Runs full fuzzing every push. Fuzzit emails
if it finds crashes.

Uses the existing fuzz targets:
* translate-module - Fuzz valid WebAssembly modules.
* reader-parse - Fuzz IR text format parsing.
…ecodealliance#1041)

Also fixes broken links to point to docs.rs; see
bytecodealliance#1041 (comment),
there doesn't currently seem to be a way to link to a type in a
dependent crate.
… optional (bytecodealliance#1044)

This patch:

* removes the "default" opt level, on the basis that it has no definition and
  is referred to nowhere in the compiler.

* renames the "fastest" level to "none".  The resulting set of transformations
  is unchanged.

* renames the "best" level to "speed_and_size".  The resulting set of
  transformations is unchanged.

* adds a new level, "speed".  This is the same as "speed_and_size" except that
  it omits transformations aimed only at reducing code size.  Currently it
  omits only the insn shrinking pass.
Includes and, or, xor, not, and regmove; TODO re-factor PerCpuModeEncodings to avoid code duplication
These were causing compilation warnings.
- `fill` attempted to use a GPR recipe, `fillSib32`, instead of its FPR equivalent, `ffillSib32` (code compiled without error but incorrect instructions were allowed, e.g. `v1 = regmove v0, %rdi -> %xmm0`
- `regmove` could be encoded with a GPR recipe, `rmov`, which hid the above incorrectness; now only FPR-to-FPR regmoves are allowed using the `frmov` recipe
@bjfish bjfish merged commit 4ed51fb into wasmer Sep 23, 2019
bors bot added a commit to wasmerio/wasmer that referenced this pull request Sep 24, 2019
822: Cranelift backend update to fork of clif version 0.43.1 r=bjfish a=bjfish

The corresponding update to fork is here (which should merge first):
wasmerio/cranelift#4

<!-- 
Prior to submitting a PR, review the CONTRIBUTING.md document for recommendations on how to test:
https://github.com/wasmerio/wasmer/blob/master/CONTRIBUTING.md#pull-requests

-->

# Description
<!-- 
Provide details regarding the change including motivation,
links to related issues, and the context of the PR.
-->

# Review

- [x] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Brandon Fish <[email protected]>
Co-authored-by: Syrus Akbary <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.