diff options
| author | Nikita Popov <npopov@redhat.com> | 2024-08-27 09:13:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-27 09:13:41 +0200 |
| commit | 1cea5c2138bef3d8fec75508df6dbb858e6e3560 (patch) | |
| tree | 7c873ad74a64d7933d553e747f46c9a2cd652576 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp | |
| parent | 0ef8e71874e128560fdc77b6234d1bef3e18d3bd (diff) | |
| download | llvm-1cea5c2138bef3d8fec75508df6dbb858e6e3560.zip llvm-1cea5c2138bef3d8fec75508df6dbb858e6e3560.tar.gz llvm-1cea5c2138bef3d8fec75508df6dbb858e6e3560.tar.bz2 | |
[SCCP] Propagate non-null pointers (#106090)
Add NotConstant(Null) roots for nonnull arguments and then propagate
them through nuw/inbounds GEPs.
Having this functionality in SCCP is useful because it allows reliably
eliminating null comparisons, independently of how deeply nested they
are in selects/phis. This handles cases that would hit a cutoff in
ValueTracking otherwise.
The implementation is something of a MVP, there are a number of obvious
extensions (e.g. allocas are also non-null).
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions
