-
Notifications
You must be signed in to change notification settings - Fork 12.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
Remove the -Zinsert-sideeffect #82884
Remove the -Zinsert-sideeffect #82884
Conversation
r? @estebank (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
6f62d9b
to
cc930aa
Compare
@bors try @rust-timer queue I would expect either improved or unchanged performance. |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit cc930aaa931c6607ed17d699afc63108d8b6359a with merge 0ed3adf212fcc9697c642f4043b36a48606909eb... |
cc930aa
to
e40911f
Compare
} else { | ||
helper.maybe_sideeffect(self.mir, &mut bx, &[target]); | ||
// NB: the `sideeffect` currently checks for the LLVM version used internally. | ||
bx.sideeffect(); |
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.
So this is the only call to sideeffect
left in the codebase? Won't this cause a miscompilation for the removed cases when run under LLVM <12?
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 the other calls did not generate a sideeffect
unless an unstable flag was specified.
@bors retry |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit e40911fe9a3461247904cfb27095cb71e4c28bf5 with merge f9ee4d76ec0bea8c917cb9e0afd7aa39c4d7ccb1... |
☀️ Try build successful - checks-actions |
Queued f9ee4d76ec0bea8c917cb9e0afd7aa39c4d7ccb1 with parent 76c500e, future comparison URL. |
Finished benchmarking try commit (f9ee4d76ec0bea8c917cb9e0afd7aa39c4d7ccb1): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
@bors r+ |
📌 Commit e40911fe9a3461247904cfb27095cb71e4c28bf5 has been approved by |
⌛ Testing commit e40911fe9a3461247904cfb27095cb71e4c28bf5 with merge 9383cb7dc5ec233f61935cb6dd2fea9d363422ea... |
💔 Test failed - checks-actions |
This comment has been minimized.
This comment has been minimized.
@bors retry |
☔ The latest upstream changes (presumably #82953) made this pull request unmergeable. Please resolve the merge conflicts. |
This removes all of the code we had in place to work-around LLVM's handling of forward progress. From this removal excluded is a workaround where we'd insert a `sideeffect` into clearly infinite loops such as `loop {}`. This code remains conditionally effective when the LLVM version is earlier than 12.0, which fixed the forward progress related miscompilations at their root.
e40911f
to
0517acd
Compare
@bors r=nikic |
📌 Commit 0517acd has been approved by |
☀️ Test successful - checks-actions |
This removes all of the code we had in place to work-around LLVM's
handling of forward progress. From this removal excluded is a workaround
where we'd insert a
sideeffect
into clearly infinite loops such asloop {}
. This code remains conditionally effective when the LLVMversion is earlier than 12.0, which fixed the forward progress related
miscompilations at their root.