History log of /llvm-project/llvm/test/Transforms/SCCP/pointer-nonnull.ll (Results 1 – 11 of 11)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0
# b7e51b4f 16-Sep-2024 Nikita Popov <npopov@redhat.com>

[IPSCCP] Infer attributes on arguments (#107114)

During inter-procedural SCCP, also infer attributes on arguments, not
just return values. This allows other non-interprocedural passes to make
use

[IPSCCP] Infer attributes on arguments (#107114)

During inter-procedural SCCP, also infer attributes on arguments, not
just return values. This allows other non-interprocedural passes to make
use of the information later.

show more ...


# 04742f34 09-Sep-2024 Nikita Popov <npopov@redhat.com>

[SCCP] Add test for nonnull argument inference (NFC)


Revision tags: llvmorg-19.1.0-rc4
# 24fe1d4f 02-Sep-2024 Nikita Popov <npopov@redhat.com>

[SCCP] Infer return attributes in SCCP as well (#106732)

We can infer the range/nonnull attributes in non-interprocedural SCCP as
well. The results may be better after the function has been simplif

[SCCP] Infer return attributes in SCCP as well (#106732)

We can infer the range/nonnull attributes in non-interprocedural SCCP as
well. The results may be better after the function has been simplified.

show more ...


# d6ad5516 30-Aug-2024 Nikita Popov <npopov@redhat.com>

[IPSCCP] Infer nonnull return attribute (#106553)

Similarly to the existing range attribute inference, also infer the
nonnull attribute on function return values.

I think in practice FunctionAtt

[IPSCCP] Infer nonnull return attribute (#106553)

Similarly to the existing range attribute inference, also infer the
nonnull attribute on function return values.

I think in practice FunctionAttrs will handle nearly all cases, the main
one I think it doesn't is cases involving branch conditions. But as we
already have the information here, we may as well materialize it.

show more ...


# ba52a09a 29-Aug-2024 Nikita Popov <npopov@redhat.com>

[IPSCCP] Add test for returning nonnull pointer (NFC)


# 7f59264d 29-Aug-2024 Nikita Popov <npopov@redhat.com>

[IPSCCP] Intersect attribute info for interprocedural args (#106397)

IPSCCP can currently return worse results than SCCP for arguments that
are tracked interprocedurally, because information from a

[IPSCCP] Intersect attribute info for interprocedural args (#106397)

IPSCCP can currently return worse results than SCCP for arguments that
are tracked interprocedurally, because information from attributes is
not used for them.

Fix this by intersecting in the attribute information when propagating
lattice values from calls.

show more ...


# b8c0e8ad 28-Aug-2024 Nikita Popov <npopov@redhat.com>

[IPSCCP] Add extra tests for interprocedural arg attr handling (NFC)


# 657f26f0 27-Aug-2024 Nikita Popov <npopov@redhat.com>

[SCCP] Add more non-null roots

Also consider allocas non-null (subject to the usual caveats),
and consider nonnull/dereferenceable metadata on calls.


# ed1c1da0 27-Aug-2024 Nikita Popov <npopov@redhat.com>

[SCCP] Add tests for more non-null roots (NFC)


# 1cea5c21 27-Aug-2024 Nikita Popov <npopov@redhat.com>

[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 beca

[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).

show more ...


# 41f2f1f0 26-Aug-2024 Nikita Popov <npopov@redhat.com>

[SCCP] Add tests for non-null pointers (NFC)