-
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
Rollup of 5 pull requests #97849
Rollup of 5 pull requests #97849
Conversation
It is just a wrapper around a `BitSet` and doesn't have any functionality of its own.
Make it explicit that the analysis direction is constant. This also makes the value immediately available for optimizations. Previously those functions were neither inline nor generic and so their definition was unavailable when using data flow framework from other crates.
In https://reviews.llvm.org/D125556 upstream changed sext() and zext() to allow some no-op cases, which previously required use of the *OrSelf() methods, which I assume is what was going on here. The *OrSelf() methods got removed in https://reviews.llvm.org/D125559 after two weeks of deprecation because they came with some bonus (probably-undesired) behavior. Since the behavior of sext() and zext() changed slightly, I kept the old *OrSelf() calls in LLVM 14 and earlier, and only use the new version in LLVM 15. r? @nikic
…rrors Add regresion test for rust-lang#95307 Closes rust-lang#95307 r? `@compiler-errors`
…t, r=davidtwco Remove `AlwaysLiveLocals` wrapper struct It is just a wrapper around a `BitSet` and doesn't have any functionality of its own.
Change `Direction::{is_forward,is_backward}` functions into constants Make it explicit that the analysis direction is constant. This also makes the value immediately available for optimizations. Previously those functions were neither inline nor generic and so their definition was unavailable when using data flow framework from other crates.
RustWrapper: adapt to APInt API changes in LLVM 15 In https://reviews.llvm.org/D125556 upstream changed sext() and zext() to allow some no-op cases, which previously required use of the *OrSelf() methods, which I assume is what was going on here. The *OrSelf() methods got removed in https://reviews.llvm.org/D125559 after two weeks of deprecation because they came with some bonus (probably-undesired) behavior. Since the behavior of sext() and zext() changed slightly, I kept the old *OrSelf() calls in LLVM 14 and earlier, and only use the new version in LLVM 15. r? `@nikic`
Use more targeted suggestion when confusing i8 with std::i8 r? `@compiler-errors`
@bors r+ rollup=never p=5 |
📌 Commit c2d8485 has been approved by |
☀️ Test successful - checks-actions |
Finished benchmarking commit (47aee31): comparison url. Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes |
Successful merges:
AlwaysLiveLocals
wrapper struct #97831 (RemoveAlwaysLiveLocals
wrapper struct)Direction::{is_forward,is_backward}
functions into constants #97832 (ChangeDirection::{is_forward,is_backward}
functions into constants)Failed merges:
r? @ghost
@rustbot modify labels: rollup
Create a similar rollup