diff options
| author | Florian Hahn <flo@fhahn.com> | 2025-11-02 14:16:24 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-02 14:16:24 +0000 |
| commit | d3fe1df1945a6761e042ea02b7a80154d648601a (patch) | |
| tree | 2adddb4c8672886ad49f7a76f5d2f89154b308ff /lldb/test/Shell/ObjectFile/MachO/section-overflow-binary.test | |
| parent | 138e0ff87c5855d4d78ab27f59dfbd9191e81872 (diff) | |
| download | llvm-d3fe1df1945a6761e042ea02b7a80154d648601a.zip llvm-d3fe1df1945a6761e042ea02b7a80154d648601a.tar.gz llvm-d3fe1df1945a6761e042ea02b7a80154d648601a.tar.bz2 | |
[SCEV] Improve handling of divisibility information from loop guards. (#163021)
At the moment, the effectivness of guards that contain divisibility
information (A % B == 0 ) depends on the order of the conditions.
This patch makes using divisibility information independent of the
order, by collecting and applying the divisibility information
separately.
We first collect all conditions in a vector, then collect the
divisibility information from all guards.
When processing other guards, we apply divisibility info collected
earlier.
After all guards have been processed, we add the divisibility info,
rewriting the existing rewrite. This ensures we apply the divisibility
info to the largest rewrite expression.
This helps to improve results in a few cases, one in
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2921 and another one
in a different large C/C++ based IR corpus.
PR: https://github.com/llvm/llvm-project/pull/163021
Diffstat (limited to 'lldb/test/Shell/ObjectFile/MachO/section-overflow-binary.test')
0 files changed, 0 insertions, 0 deletions
