-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
feat: implement -o
flags for disabling optimizations
#5385
Conversation
2d8a924
to
41d7d0d
Compare
After discussing it with @vaivaswatha, this is blocked as some optimizations are currently needed for producing correct output, so we cannot directly chug them depending on the o flag, we will have to be more careful about that. |
@kayagokalp I've updated the PR to disable as many optimizations as possible on The testsuite mostly passes. The ones failing are related to changed ABIs or checksums (for deployment ones). This brings us to the task of supporting two paths in our testsuite, i.e., testing both |
Thanks for the help @vaivaswatha I will be reporting before and after changes here today 🙌 |
For tests that have their ABI tested, or rely on their compiled hashes (for deployment), since that changes with build profile, the tests are marked as unsupported for debug profile. (better to test with and have expected results for release than the debug profile). Add testing release profile in CI since the default is now debug. Two tests in `should_fail` that are expected to fail due to overflows are disabled because there's a bug in our IR gen. A new Issue will be opened for this.
The test now no longer makes assumptions about addresses of zero sized values.
@kayagokalp does having fewer optimizations improve the quality of source location information? |
test/src/e2e_vm_tests/test_programs/should_fail/arith_overflow/u8_add_overflow/test.toml
Show resolved
Hide resolved
...ts/test_programs/should_pass/language/references/referencing_local_vars_and_values/test.toml
Outdated
Show resolved
Hide resolved
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.
Looks good! Thank you!!
This PR implements `-o` flags so that we can disable optimizations. This will be useful as we are working towards debugger support and optimizations pollute source map generated. Provide option to the e2e test binary to specify build profile. For tests that have their ABI tested, or rely on their compiled hashes (for deployment), since that changes with build profile, the tests are marked as unsupported for debug profile. (better to test with and have expected results for release than the debug profile). Add testing release profile in CI since the default is now debug. Two tests in `should_fail` that are expected to fail due to overflows are disabled because there's a bug in our IR gen. This is tracked by #5449 --------- Co-authored-by: Vaivaswatha Nagaraj <vaivaswatha.nagaraj@fuel.sh> Co-authored-by: Vaivaswatha N <vaivaswatha@users.noreply.github.com> Co-authored-by: Sophie Dankel <47993817+sdankel@users.noreply.github.com>
Description
This PR implements
-o
flags so that we can disable optimizations. This will be useful as we are working towards debugger support and optimizations pollute source map generated.Provide option to the e2e test binary to specify build profile. For tests that have their ABI tested, or rely on their compiled
hashes (for deployment), since that changes with build profile, the tests are marked as unsupported for debug profile.
(better to test with and have expected results for release than the debug profile).
Add testing release profile in CI since the default is now debug. Two tests in
should_fail
that are expected to fail due tooverflows are disabled because there's a bug in our IR gen. A new Issue will be opened for this.