-
Notifications
You must be signed in to change notification settings - Fork 8
pre-commit: PRllvm/llvm-project/compare/main...fhahn:llvm-project:ce-reorder-add #2968
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
base: main
Are you sure you want to change the base?
Conversation
Diff moderunner: ariselab-64c-docker 121 files changed, 192274 insertions(+), 194270 deletions(-) +6 llvm/YAMLParser.ll |
|
The provided diff contains numerous changes across multiple LLVM IR files, primarily involving optimizations and simplifications. Here are the major changes summarized:
These changes collectively aim to improve the performance and efficiency of the generated code by reducing redundancy, optimizing loops, and streamlining memory and control flow operations. model: qwen-plus-latest |
We have dedicated decomposition logic for (add %x, -C), but if we have (add nsw %x, -C) we will first apply the generic logic for NSWAdd, which gives worse results for negative constants in practice. Update the code to first apply the pattern with negative constants. Helps to remove a number of runtime checks in practice: dtcxzyw/llvm-opt-benchmark#2968 Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma
…64791) We have dedicated decomposition logic for (add %x, -C), but if we have (add nsw %x, -C) we will first apply the generic logic for NSWAdd, which gives worse results for negative constants in practice. Update the code to first apply the pattern with negative constants. Helps to remove a number of runtime checks in practice: dtcxzyw/llvm-opt-benchmark#2968 Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma PR: #164791
…decomp. (#164791) We have dedicated decomposition logic for (add %x, -C), but if we have (add nsw %x, -C) we will first apply the generic logic for NSWAdd, which gives worse results for negative constants in practice. Update the code to first apply the pattern with negative constants. Helps to remove a number of runtime checks in practice: dtcxzyw/llvm-opt-benchmark#2968 Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma PR: llvm/llvm-project#164791
…vm#164791) We have dedicated decomposition logic for (add %x, -C), but if we have (add nsw %x, -C) we will first apply the generic logic for NSWAdd, which gives worse results for negative constants in practice. Update the code to first apply the pattern with negative constants. Helps to remove a number of runtime checks in practice: dtcxzyw/llvm-opt-benchmark#2968 Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma PR: llvm#164791
…vm#164791) We have dedicated decomposition logic for (add %x, -C), but if we have (add nsw %x, -C) we will first apply the generic logic for NSWAdd, which gives worse results for negative constants in practice. Update the code to first apply the pattern with negative constants. Helps to remove a number of runtime checks in practice: dtcxzyw/llvm-opt-benchmark#2968 Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma PR: llvm#164791
…vm#164791) We have dedicated decomposition logic for (add %x, -C), but if we have (add nsw %x, -C) we will first apply the generic logic for NSWAdd, which gives worse results for negative constants in practice. Update the code to first apply the pattern with negative constants. Helps to remove a number of runtime checks in practice: dtcxzyw/llvm-opt-benchmark#2968 Alive2 proofs for the test changes: https://alive2.llvm.org/ce/z/JfR2Ma PR: llvm#164791
Link: llvm/llvm-project@main...fhahn:llvm-project:ce-reorder-add
Requested by: @fhahn