-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
crashes: more tests #133294
base: master
Are you sure you want to change the base?
crashes: more tests #133294
Conversation
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.
Thanks! I have some questions.
@@ -0,0 +1,15 @@ | |||
//@ known-bug: #133065 | |||
//@compile-flags: -Zvalidate-mir -Zinline-mir -Zinline-mir-threshold=300 |
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.
Suggestion: hmm, this is also one of those cases where it's better to identify which mir opts are involved, like #133104. Probably split this off into another PR.
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.
as far as I understand this only enables mir inlining.
does Zinline-mir also enable other opts than mir inlining?
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.
cc @saethlin do you know? I'm not super familiar with the MIR-specific ones.
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.
I'm not too convinced that this is too useful in general.
If we for example have a broken mir opt in the pipeline, and the mir opt gets banished to -Zunsave-mir-opts, this still fixes the bug from a user perspective as the mir opt is no longer run by default.
Also some mir opts rely on each other which is why I don't fuzz single mir opts, as there are probably bunch of cases where "one opt will break if that other opt is not run before it."
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.
Since this is a crashes test we can also remove it easily if it becomes a problem, so yeah it's a whatever.
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.
does Zinline-mir also enable other opts than mir inlining?
-Zinline-mir
is the same as -Zmir-enable-passes=+Inline
, and it takes work to make sure those flags don't diverge in behavior.
there are probably bunch of cases where "one opt will break if that other opt is not run before it."
There aren't supposed to be any such cases.
If we for example have a broken mir opt in the pipeline, and the mir opt gets banished to -Zunsave-mir-opts, this still fixes the bug from a user perspective as the mir opt is no longer run by default.
The crashes tests aren't about tracking the quality of the user experience, they are about tracking the state of open issues. If an ICEing MIR opt is put behind a flag, the bug is still in the code.
Thanks, r=me if the discussions indicate we can go ahead and add the relevant crashes tests. |
df9cef3
to
3f52fce
Compare
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
r? @jieyouxu