-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[compiler-v2] Adding full compiler pipeline to many test configs #12831
Conversation
|
||
|
||
Diagnostics: | ||
bug: struct not defined |
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.
tracked by #12820
@@ -23,3 +23,11 @@ module <SELF>_0 { | |||
} | |||
} | |||
} // end <SELF>_0 | |||
|
|||
|
|||
Diagnostics: |
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.
The various diagnostics added here (in this folder) should be safe and meaningful (that simplifier elimination does not incorrectly remove these errors from being reported).
@@ -176,12 +176,9 @@ const TEST_CONFIGS: Lazy<BTreeMap<&str, TestConfig>> = Lazy::new(|| { | |||
exp_suffix: None, | |||
options: opts | |||
.clone() | |||
.set_experiment(Experiment::AST_SIMPLIFY_FULL, true) | |||
// TODO: this check should not need to be turned off, but some |
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.
It was not clear what about the tests were needed to be fixed - they seemed fine to me (enabling it allows various errors to be reported in the stackless bytecode checker, which seems like useful tests).
@@ -433,10 +432,9 @@ const TEST_CONFIGS: Lazy<BTreeMap<&str, TestConfig>> = Lazy::new(|| { | |||
include: vec!["/unreachable-code-remover/"], | |||
exclude: vec![], | |||
exp_suffix: None, | |||
options: opts | |||
.clone() | |||
.set_experiment(Experiment::ABILITY_CHECK, false), |
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.
Again, was not clear why we would disable this, and it does not affect the test output in any meaningful way.
@@ -13,25 +13,10 @@ fun m::test() { | |||
[variant baseline] | |||
fun m::test() { | |||
var $t0: u64 | |||
# live vars: |
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.
All these changes should not be relevant to the unreachable code remover.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ Forge suite
|
✅ Forge suite
|
Description
This PR adds full compiler pipeline to many test configs. This allows double checking that bytecode verification does not fail for any code that we successfully compile in v2 without reporting blocking errors.
As a result, we found this bug: #12820.
Note that adding full compiler pipeline to "bytecode-gen" is being done here - #12818, so not done in this PR.
Closes #12830.
Type of Change
Which Components or Systems Does This Change Impact?
How Has This Been Tested?
Existing tests, which have all been updated with new baselines.
Key Areas to Review
Output of the baseline files: I have tried to explain why the changes (other than "bytecode verification succeeded" messages) are okay once per directory, using github comments.