-
Notifications
You must be signed in to change notification settings - Fork 720
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
wasm2c: run tests with -O2 on non-Windows #1939
Conversation
I think it would be great if this and all the other changes in the stack could be rebased to avoid #1814.. then we could land them without being blocked on the instancing discussions. Could you arrange to have the instancing at the other end of the chain, or do that others somehow depend deeply on it? |
#1877 (bulk memory) and #1887 (reference types) unfortunately depend on #1814 in a way that would be a bit annoying to rebase (more details here about why: #1877 (comment)). The other two would be much easier to rebase (#1930 (exceptions) and #1939 (tests pass with optimization)), and I'm happy to do it if it would help get things moving. But, instancing is important to us (and I imagine other users) and it would be our hope to actually have that discussion and reach alignment (especially now that we've been building on top of this code for five months in our local fork and have ticked the boxes at #1853 (comment)). How can we help get things moving again there? |
(Rebased on current main branch.) |
My apologies for dragging my feet on that. Perhaps we could have a meeting discuss it next week? |
Happy to -- I'll send email, but in general July 6 looks pretty good on our end and we're happy to come up to SF. |
Manually disable optimization on 10 tests (WebAssembly#1925).
Allows compiling with optimization for address-overflow.txt, skip-stack-guard-page.txt, address.txt, and traps.txt tests.
Allows call and call_indirect tests to pass under optimization (traps on infinite recursion). (Bump GitHub macOS version; Xcode 13.2.1 on macOS 11 wasn't honoring the -fno-optimize-sibling-calls flag)
on NaN-quieting versions of trunc/nearbyint/fabs/floor/ceil for all platforms (not just Windows). Allows most floating-point tests to run with optimization.
(spec tests don't currently test this)
This gets all tests passing with -O2 on gcc and clang.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm.. did we decide that we don't need to give folks an opt-out for these these things are don't relate directly to sandbox security? (but are there for spec compliance).
I think I'm OK wither way..
I think that was our tentative conclusion, but we're okay either way too. I guess my mild preference is to wait until somebody wants it and avoid the added complexity if we can, but no strong preference. (Are you able to change the repo configuration to accept a "macos-12" status check instead of "macos-latest"? GitHub has suggested they will update "macos-latest" by August so hopefully it's temporary...) |
Do I have to do something to enable that? I thought it was all driven by the yaml file? |
I think the list of "required" status checks is only in the GitHub "Settings" > "Branches" > Branch Protection Rules for main > "Edit" > Status Checks that Are Required. I think it needs to have "build (macos-12)" added and remove "build (macos-latest)" before this can be merged afaik, at least without an override. |
(This PR is stacked behind #1814, #1877, #1887, and #1930, but if there is interest in landing it sooner, it could be rebased on top of the current ToT.)Enable optimization when compiling the wasm2c output on non-Windows platforms (effectively GCC and clang). This required:
Fixes #1925.