Skip to content

Support non-optimized builds on pure wasm backend #1

New issue

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

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

Already on GitHub? # to your account

Closed
aturon opened this issue Jan 10, 2018 · 4 comments
Closed

Support non-optimized builds on pure wasm backend #1

aturon opened this issue Jan 10, 2018 · 4 comments

Comments

@aturon
Copy link
Contributor

aturon commented Jan 10, 2018

Currently, compilation tends to go awry if you use wasm32-unknown-unknown without optimizations enabled. This is essentially due to immaturity of the rest of the toolchain; this issue is just for tracking the status.

@alexcrichton
Copy link
Contributor

I believe at least one piece in solving this will be #3. If you leave LLVM assertions turned on then at lower optimization levels it often hits an LLVM assertion. There may also be bugs in binaryen's s2wasm right now, but I don't think we've ever gotten far enough to test that.

We shouldn't close this out automatically with #3 though because it's likely we'll need to do more than just upgrade llvm.

@alexcrichton
Copy link
Contributor

Since upgrading to LLVM 6 this is unfortunately still not fixed, and I've started closing bugs in favor of rust-lang/rust#46367 which I plan to use as the rustc tracking issue for this.

@alexcrichton
Copy link
Contributor

Initial testing shows that https://github.com/rust-lang-nursery/rust-wasm/issues/2 plus https://github.com/rust-lang-nursery/rust-wasm/issues/3 will solve this issue. Once those are in-tree though we should go through all the linked test cases on rust-lang/rust#46367 and make sure they work.

@alexcrichton
Copy link
Contributor

With #2 and #3 now landed, I believe this works!

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants