[llvm] [GlobalIsel] Visit ICmp (PR #105991)
Amara Emerson via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 14 15:50:49 PDT 2024
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/105991 at github.com>
aemerson wrote:
Please split this up into multiple patches as @nikic requested. Start with the canonicalization. Maybe just use the name `canonicalize_icmp` instead of `prepare` to be more specific. Then we merge the first part.
I'm not saying that the rest of the changes will be accepted after splitting, we still need to come to an agreement about the known bits issue.
> It might be a bit code, but code size/complexity correlates with precision. I ported it from ValueTracking with adaptions to MIR. The version in ValueTracking is much larger/complex. You will still find the original comments. We need some precision for the icmp x,0 combine to have an effect on code size. I am interested in follow-on PRs to increase precision.
As a reminder: I don't care one iota about how precise the analysis is in the combiner if it doesn't pay for its compile time and complexity cost with *real world* improvements. Not synthetic MIR tests, real world improvements in code quality. This could be systemic improvements across the LLVM test suite at -Os/O3, or optimizing a key loop in a common benchmark. Nothing is landing into the tree without having test cases that exercise the code without synthetic input.
https://github.com/llvm/llvm-project/pull/105991
More information about the llvm-commits
mailing list