diff options
author | Nikita Popov <npopov@redhat.com> | 2023-11-27 09:17:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-27 09:17:03 +0100 |
commit | 2b646b598942b87f25fda1713a3c5e211585ca88 (patch) | |
tree | 68ae6936654c5890108c0256fb7af0c57239624e /llvm/test/Analysis | |
parent | 477c0b67a3ab30e74f3563b3f0b9d4d53caba465 (diff) | |
download | llvm-2b646b598942b87f25fda1713a3c5e211585ca88.zip llvm-2b646b598942b87f25fda1713a3c5e211585ca88.tar.gz llvm-2b646b598942b87f25fda1713a3c5e211585ca88.tar.bz2 |
[CVP] Don't try to fold load/store operands to constant (#73338)
CVP currently tries to fold load/store pointer operands to constants
using LVI. If there is a dominating condition of the form `icmp eq ptr
%p, @g`, then `%p` will be replaced with `@g`.
LVI is geared towards range-based optimizations, and is *very*
inefficient at handling simple pointer equality conditions. We have
other passes that can handle this optimization in a more efficient way,
such as IPSCCP and GVN.
Removing this optimization gives a geomean 0.4-1.2% compile-time
improvement depending on configuration. At the same time, there
is no impact on codegen.
Diffstat (limited to 'llvm/test/Analysis')
0 files changed, 0 insertions, 0 deletions