History log of /llvm-project/llvm/lib/Analysis/Lint.cpp (Results 1 – 25 of 179)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# f993a8ba 08-Jan-2025 Nikita Popov <npopov@redhat.com>

[Lint] Lint mismatch in ABI attributes (#121929)

Detect cases where ABI attributes between the call-site and the called
function differ. For now this only handles argument attributes.

Inspired b

[Lint] Lint mismatch in ABI attributes (#121929)

Detect cases where ABI attributes between the call-site and the called
function differ. For now this only handles argument attributes.

Inspired by
https://discourse.llvm.org/t/difference-between-call-site-attributes-and-declaration-attributes/83902.

show more ...


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1
# 3e65c30e 25-Sep-2024 jofrn <jofernau@amd.com>

[Lint][AMDGPU] No store to const addrspace (#109181)

Ensure store to const addrspace is not allowed by Linter.


Revision tags: llvmorg-19.1.0
# 205f7ee7 04-Sep-2024 Nikita Popov <npopov@redhat.com>

[Lint] Skip null args when checking noalias

Do not emit a warning if there are two null noalias arguments,
as they cannot be dereferenced anyway.

This is a common pattern for `@.omp_outlined`, whic

[Lint] Skip null args when checking noalias

Do not emit a warning if there are two null noalias arguments,
as they cannot be dereferenced anyway.

This is a common pattern for `@.omp_outlined`, which has some
optional noalias arguments.

show more ...


# 8d4235d9 04-Sep-2024 Nikita Popov <npopov@redhat.com>

[Lint] Fix another scalable vector crash

We also need to check that the memory access LocationSize is not
scalable.


# 360f82f3 04-Sep-2024 Nikita Popov <npopov@redhat.com>

[Lint] Fix crash for insert/extract on scalable vector

Don't assume the vector is fixed size. For scalable vectors, do
not report an error, as indices outside the minimum range may be
valid.


# 29c076b8 04-Sep-2024 Nikita Popov <npopov@redhat.com>

[Lint] Fix crash with scalable alloca


Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# fdf94e16 16-Jul-2024 Alex Bradbury <asb@igalia.com>

Reapply "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"

This reverts commit ac4b6b662630cd4d3bf6929f2b39ea203c0054a1.

A test change was m

Reapply "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"

This reverts commit ac4b6b662630cd4d3bf6929f2b39ea203c0054a1.

A test change was missing for
mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir in the initial commit.

show more ...


# ac4b6b66 16-Jul-2024 Alex Bradbury <asb@igalia.com>

Revert "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"

This reverts commit 522fd53838d577add8c19b5eccccae756fd27899 while
unexpected mlir

Revert "[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)"

This reverts commit 522fd53838d577add8c19b5eccccae756fd27899 while
unexpected mlir failures are investigated and resolved.

show more ...


# 522fd538 16-Jul-2024 Alex Bradbury <asb@igalia.com>

[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)

Following on from the discussion in

https://discourse.llvm.org/t/rfc-introducing-an-llvm-

[Intrinsics][PreISelInstrinsicLowering] llvm.memcpy.inline length no longer needs to be constant (#98281)

Following on from the discussion in

https://discourse.llvm.org/t/rfc-introducing-an-llvm-memset-pattern-inline-intrinsic/79496
and the equivalent change for llvm.memset.inline (#95397), this removes
the requirement that the length of llvm.memcpy.inline is constant.
PreISelInstrinsicLowering will expand llvm.memcpy.inline with
non-constant lengths, while the codegen path for constant lengths is
left unaltered.

show more ...


# 9df71d76 28-Jun-2024 Nikita Popov <npopov@redhat.com>

[IR] Add getDataLayout() helpers to Function and GlobalValue (#96919)

Similar to https://github.com/llvm/llvm-project/pull/96902, this adds
`getDataLayout()` helpers to Function and GlobalValue, re

[IR] Add getDataLayout() helpers to Function and GlobalValue (#96919)

Similar to https://github.com/llvm/llvm-project/pull/96902, this adds
`getDataLayout()` helpers to Function and GlobalValue, replacing the
current `getParent()->getDataLayout()` pattern.

show more ...


# 2d209d96 27-Jun-2024 Nikita Popov <npopov@redhat.com>

[IR] Add getDataLayout() helpers to BasicBlock and Instruction (#96902)

This is a helper to avoid writing `getModule()->getDataLayout()`. I
regularly try to use this method only to remember it does

[IR] Add getDataLayout() helpers to BasicBlock and Instruction (#96902)

This is a helper to avoid writing `getModule()->getDataLayout()`. I
regularly try to use this method only to remember it doesn't exist...

`getModule()->getDataLayout()` is also a common (the most common?)
reason why code has to include the Module.h header.

show more ...


# 69d07465 24-Jun-2024 Nikita Popov <npopov@redhat.com>

[Lint] Use poison instead of undef for self-referential values


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4
# ac6b4c61 16-Apr-2024 Jon Chesterfield <jonathanchesterfield@gmail.com>

Reapply "[Verifier] Reject va_start in non-variadic function (#88809)"

This reverts commit f4960da6023b8034ae68925c3223d51624621b37.
Includes a fix for the MLIR test case.


# f4960da6 16-Apr-2024 Jon Chesterfield <jonathanchesterfield@gmail.com>

Revert "[Verifier] Reject va_start in non-variadic function (#88809)"

This reverts commit 61717c1aa1f08eb57839a21fb2d9004739022e0d. Failed a MLIR test


# 61717c1a 16-Apr-2024 Jon Chesterfield <jonathanchesterfield@gmail.com>

[Verifier] Reject va_start in non-variadic function (#88809)

A va_start intrinsic lowers to something derived from the variadic
parameter to the function. If there is no such parameter, it can't lo

[Verifier] Reject va_start in non-variadic function (#88809)

A va_start intrinsic lowers to something derived from the variadic
parameter to the function. If there is no such parameter, it can't lower
meaningfully. Clang sema rejects the same with `error: 'va_start' used
in function with fixed args`.

Moves the existing lint warning into a verifier error. Updates the one
lit test that had a va_start in a non-variadic function.

show more ...


Revision tags: llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3
# 756ff969 20-Feb-2024 Jannik Silvanus <37809848+jasilvanus@users.noreply.github.com>

[Lint] Add option --lint-abort-on-error (#81999)

This option makes the lint pass abort if errors were found.

This is intended to help lit testing where the lint pass is used and
lint errors shou

[Lint] Add option --lint-abort-on-error (#81999)

This option makes the lint pass abort if errors were found.

This is intended to help lit testing where the lint pass is used and
lint errors should be detected.
Previously, this required checking for non-empty stderr.

show more ...


Revision tags: llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1
# 89dae798 24-Jan-2024 Nikita Popov <npopov@redhat.com>

[Loads] Use BatchAAResults for available value APIs (NFCI)

This allows caching AA queries both within and across the calls,
and enables us to use a custom AAQI configuration.


Revision tags: llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3
# c0682840 11-Aug-2023 Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>

[Lint] Permit aliasing noalias and readnone arguments

If an argument is readnone we know that it isn't dereferenced. Then
it should be OK if that argument alias with a noalias argument.

Differentia

[Lint] Permit aliasing noalias and readnone arguments

If an argument is readnone we know that it isn't dereferenced. Then
it should be OK if that argument alias with a noalias argument.

Differential Revision: https://reviews.llvm.org/D157737

show more ...


Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5
# dc616660 29-May-2023 Kazu Hirata <kazu@google.com>

[Analysis] Remove unused declarations visitEHBeginCatch and visitEHEndCatch

The corresponding function definitions were removed by:

commit 14e773500e036de57ed0ca4af6fddc1f8b6767d8
Author: Reid

[Analysis] Remove unused declarations visitEHBeginCatch and visitEHEndCatch

The corresponding function definitions were removed by:

commit 14e773500e036de57ed0ca4af6fddc1f8b6767d8
Author: Reid Kleckner <rnk@google.com>
Date: Fri Oct 9 23:34:53 2015 +0000

show more ...


Revision tags: llvmorg-16.0.4, llvmorg-16.0.3
# 3ce72cd5 24-Apr-2023 Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>

Remove some includes that shouldn't be needed any longer

This remove a bunch of #include statements in Scalar.cpp. I do not
think those should be needed any longer (assuming that they once
upon a ti

Remove some includes that shouldn't be needed any longer

This remove a bunch of #include statements in Scalar.cpp. I do not
think those should be needed any longer (assuming that they once
upon a time possibly were needed for legacy PM C bindings, but
that is not supported any longer).

Also removing some other #include statements not needed any longer
due to deprecation of legacy PM.

Differential Revision: https://reviews.llvm.org/D149438

show more ...


# acc4abea 21-Apr-2023 Arthur Eubanks <aeubanks@google.com>

[Lint] Remove legacy pass


Revision tags: llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2
# eec670ac 06-Feb-2023 Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>

Revert "[Lint] Use new PM instead of legacy PM in lintFunction and lintModule"

This reverts commit 525ed98be483188db6dc3bb69cecd0123148ceca.

Some buildbots are failing when linking bugpoint.
Revert

Revert "[Lint] Use new PM instead of legacy PM in lintFunction and lintModule"

This reverts commit 525ed98be483188db6dc3bb69cecd0123148ceca.

Some buildbots are failing when linking bugpoint.
Reverting to investigate that further.

show more ...


# 525ed98b 06-Feb-2023 Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>

[Lint] Use new PM instead of legacy PM in lintFunction and lintModule

There are some helpers in the Lint analysis pass that will setup
a pass manager and then run the Lint pass on a given Function/M

[Lint] Use new PM instead of legacy PM in lintFunction and lintModule

There are some helpers in the Lint analysis pass that will setup
a pass manager and then run the Lint pass on a given Function/Module.

Those have been using the LegacyPassManager, but as a small step
towards removing the deprecated legacy pass manager this patch is
changing those helpers into using the new pass manager instead.

No idea if anyone is really is using those helpers. Maybe an
alternative had been to just remove them. There is at least no unit
tests or similar that verifies that they work, so I validated this
patch by using a hacked opt binary that called those functions
before running the normal pipeline.

Differential Revision: https://reviews.llvm.org/D143388

show more ...


Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7
# 19aff0f3 03-Dec-2022 Kazu Hirata <kazu@google.com>

[Analysis] Use std::nullopt instead of None (NFC)

This patch mechanically replaces None with std::nullopt where the
compiler would warn if None were deprecated. The intent is to reduce
the amount o

[Analysis] Use std::nullopt instead of None (NFC)

This patch mechanically replaces None with std::nullopt where the
compiler would warn if None were deprecated. The intent is to reduce
the amount of manual work required in migrating from Optional to
std::optional.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

show more ...


Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init
# 601b3a13 17-Jul-2022 Kazu Hirata <kazu@google.com>

[Analysis] Qualify auto variables in for loops (NFC)


12345678