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