#
29441e4f |
| 29-Jan-2025 |
Nikita Popov <npopov@redhat.com> |
[IR] Convert from nocapture to captures(none) (#123181)
This PR removes the old `nocapture` attribute, replacing it with the new
`captures` attribute introduced in #116990. This change is
intended
[IR] Convert from nocapture to captures(none) (#123181)
This PR removes the old `nocapture` attribute, replacing it with the new
`captures` attribute introduced in #116990. This change is
intended to be essentially NFC, replacing existing uses of `nocapture`
with `captures(none)` without adding any new analysis capabilities.
Making use of non-`none` values is left for a followup.
Some notes:
* `nocapture` will be upgraded to `captures(none)` by the bitcode
reader.
* `nocapture` will also be upgraded by the textual IR reader. This is to
make it easier to use old IR files and somewhat reduce the test churn in
this PR.
* Helper APIs like `doesNotCapture()` will check for `captures(none)`.
* MLIR import will convert `captures(none)` into an `llvm.nocapture`
attribute. The representation in the LLVM IR dialect should be updated
separately.
show more ...
|
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
dc4185fe |
| 13-Nov-2024 |
serge-sans-paille <sguelton@mozilla.com> |
[TLI] Add support for reallocarray (#114818)
reallocarray is available in glibc since 2.29 under _DEFAULT_SOURCE and
under _GNU_SOURCE before, let's model it appropriately.
|
#
7e877fc0 |
| 31-Oct-2024 |
Kenji Mouri / 毛利 研二 <Kenji.Mouri@outlook.com> |
[Reland][TLI] Add support for hypot libcall. (#114343)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.
[Reland][TLI] Add support for hypot libcall. (#114343)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/113711
Note: It's my first time contributing to the LLVM with encouragement
from one of my friends, @fawdlstty. I learned a lot from
https://github.com/llvm/llvm-project/pull/99611, and thanks for that.
Note: I had created the same PR and merged
(https://github.com/llvm/llvm-project/pull/113724), but reverted caused
by the merging issue. (The CI issue happened in 3 A.M. at my timezone.
So, I need to fall asleep again after I replied about why issue
happened.) So, I rebased to the latest main branch and recreate the PR
and hope I won't have the third time to create the same PR.
I hope @arsenm can help me review the code again. I’m sorry for that.
Kenji Mouri
show more ...
|
#
36d56925 |
| 30-Oct-2024 |
gulfemsavrun <gulfem@google.com> |
Revert "[TLI] Add support for hypot libcall." (#114312)
Reverts llvm/llvm-project#113724
|
#
feb2d867 |
| 30-Oct-2024 |
Kenji Mouri / 毛利 研二 <Mouri_Naruto@Outlook.com> |
[TLI] Add support for hypot libcall. (#113724)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.com/llvm
[TLI] Add support for hypot libcall. (#113724)
This patch adds basic support for `hypot`. Constant folding support will
be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/113711
Note: It's my first time contributing to the LLVM with encouragement
from one of my friends, @fawdlstty. I learned a lot from
https://github.com/llvm/llvm-project/pull/99611, and thanks for that.
Kenji Mouri
show more ...
|
Revision tags: llvmorg-19.1.3 |
|
#
0c1c37bf |
| 29-Oct-2024 |
c8ef <c8ef@outlook.com> |
[TLI] Add support for the `tgamma` libcall. (#113791)
This patch adds the `tgamma` libcall.
|
#
20bda93e |
| 20-Oct-2024 |
Fawdlstty <fawdlstty@users.noreply.github.com> |
[TLI] Add basic support for scalbnxx (#112936)
This patch adds basic support for `scalbln, scalblnf, scalblnl, scalbn,
scalbnf, scalbnl`. Constant folding support will be submitted in a
subsequent
[TLI] Add basic support for scalbnxx (#112936)
This patch adds basic support for `scalbln, scalblnf, scalblnl, scalbn,
scalbnf, scalbnl`. Constant folding support will be submitted in a
subsequent patch.
Related issue: <#112631>
show more ...
|
#
761fa584 |
| 18-Oct-2024 |
c8ef <c8ef@outlook.com> |
[TLI] Add support for the `ilogb` libcall. (#112725)
This patch adds the `ilogb` libcall. Constant folding will be handled in
subsequent patches.
|
Revision tags: llvmorg-19.1.2, llvmorg-19.1.1 |
|
#
173841cc |
| 20-Sep-2024 |
braw-lee <93831198+braw-lee@users.noreply.github.com> |
[TLI] Add basic support for fdim libcall (#108702)
first PR to fix #108695
Signed-off-by: Kushal Pal <kushalpal109@gmail.com>
|
#
43c9203d |
| 18-Sep-2024 |
Benjamin Maxwell <benjamin.maxwell@arm.com> |
[TLI] Support inferring function attributes for sincos[f|l] (#108554)
|
Revision tags: llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
c6e16a49 |
| 01-Aug-2024 |
Noah Goldstein <goldstein.w.n@gmail.com> |
[TLI] Add support for inferring attr `cold`/`noreturn` on `std::terminate` and `__cxa_throw`
These functions are both inherently on the error path so `cold` seems appropriate. `noreturn` is definiti
[TLI] Add support for inferring attr `cold`/`noreturn` on `std::terminate` and `__cxa_throw`
These functions are both inherently on the error path so `cold` seems appropriate. `noreturn` is definitional.
Closes #101622
show more ...
|
#
6aa723da |
| 31-Jul-2024 |
Yingwei Zheng <dtcxzyw2333@gmail.com> |
[TLI] Add support for nan libfunc (#101356)
Reference: https://en.cppreference.com/w/cpp/numeric/math/nan
|
#
67fb7c34 |
| 29-Jul-2024 |
Noah Goldstein <goldstein.w.n@gmail.com> |
[TLI] Add support for inferring attr `cold` on `exit`/`abort`
`abort` can be assumed always cold and assume non-zero `exit` status as a `cold` path as well.
Closes #101003
|
#
e65882fe |
| 29-Jul-2024 |
Noah Goldstein <goldstein.w.n@gmail.com> |
[InstCombine][InferFunctionAttrs] Add tests for inferring `cold` on exit/abort; NFC
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
e8fbefe1 |
| 19-Jul-2024 |
Yingwei Zheng <dtcxzyw2333@gmail.com> |
[TLI] Add basic support for remquo libcall (#99611)
This patch adds basic support for `remquo`. Constant folding support
will be submitted in a subsequent patch.
Related issue: https://github.co
[TLI] Add basic support for remquo libcall (#99611)
This patch adds basic support for `remquo`. Constant folding support
will be submitted in a subsequent patch.
Related issue: https://github.com/llvm/llvm-project/issues/99497
show more ...
|
#
13a8f8d5 |
| 18-Jul-2024 |
Yingwei Zheng <dtcxzyw2333@gmail.com> |
[InferAttrs] Set attributes for `remainder` (#99521)
Fixes one of the issues in
https://github.com/llvm/llvm-project/issues/99497.
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, 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, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4 |
|
#
e39f6c18 |
| 25-Oct-2023 |
Alex Richardson <alexrichardson@google.com> |
[opt] Infer DataLayout from triple if not specified
There are many tests that specify a target triple/CPU flags but no DataLayout which can lead to IR being generated that has unusual behaviour. Thi
[opt] Infer DataLayout from triple if not specified
There are many tests that specify a target triple/CPU flags but no DataLayout which can lead to IR being generated that has unusual behaviour. This commit attempts to use the default DataLayout based on the relevant flags if there is no explicit override on the command line or in the IR file.
One thing that is not currently possible to differentiate from a missing datalayout `target datalayout = ""` in the IR file since the current APIs don't allow detecting this case. If it is considered useful to support this case (instead of passing "-data-layout=" on the command line), I can change IR parsers to track whether they have seen such a directive and change the callback type.
Differential Revision: https://reviews.llvm.org/D141060
show more ...
|
Revision tags: 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, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3 |
|
#
750e20e1 |
| 19-Apr-2023 |
Daniel Woodworth <daniel.woodworth@intel.com> |
[InferAttrs] Mark frexp and modf as memory(argmem: write)
These two math library functions can't write to errno, but they do produce two results and store the second result to a pointer passed as th
[InferAttrs] Mark frexp and modf as memory(argmem: write)
These two math library functions can't write to errno, but they do produce two results and store the second result to a pointer passed as their second argument. Appropriately marking them as memory(argmem: write) enables more optimizations on calls to them.
Reviewed By: xbolva00
Differential Revision: https://reviews.llvm.org/D148043
show more ...
|
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, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
f5e03912 |
| 27-Dec-2022 |
Nikita Popov <npopov@redhat.com> |
[InferFunctionAttrs] Convert tests to opaque pointers (NFC)
|
#
a11faeed |
| 01-Dec-2022 |
Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> |
[test] Switch to use -passes syntax in various test cases
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5 |
|
#
304f1d59 |
| 02-Nov-2022 |
Nikita Popov <npopov@redhat.com> |
[IR] Switch everything to use memory attribute
This switches everything to use the memory attribute proposed in https://discourse.llvm.org/t/rfc-unify-memory-effect-attributes/65579. The old argmemo
[IR] Switch everything to use memory attribute
This switches everything to use the memory attribute proposed in https://discourse.llvm.org/t/rfc-unify-memory-effect-attributes/65579. The old argmemonly, inaccessiblememonly and inaccessiblemem_or_argmemonly attributes are dropped. The readnone, readonly and writeonly attributes are restricted to parameters only.
The old attributes are auto-upgraded both in bitcode and IR. The bitcode upgrade is a policy requirement that has to be retained indefinitely. The IR upgrade is mainly there so it's not necessary to update all tests using memory attributes in this patch, which is already large enough. We could drop that part after migrating tests, or retain it longer term, to make it easier to import IR from older LLVM versions.
High-level Function/CallBase APIs like doesNotAccessMemory() or setDoesNotAccessMemory() are mapped transparently to the memory attribute. Code that directly manipulates attributes (e.g. via AttributeList) on the other hand needs to switch to working with the memory attribute instead.
Differential Revision: https://reviews.llvm.org/D135780
show more ...
|
Revision tags: 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 |
|
#
0dcfe7aa |
| 18-Jul-2022 |
Martin Sebor <msebor@redhat.com> |
[InstCombine] Tighten up known library function signature tests (PR #56463)
Replace a switch statement used to validate arguments to known library functions with a more consistent table-driven appro
[InstCombine] Tighten up known library function signature tests (PR #56463)
Replace a switch statement used to validate arguments to known library functions with a more consistent table-driven approach and tighten it up.
show more ...
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
73f66460 |
| 29-Mar-2022 |
Augie Fackler <augie@google.com> |
BuildLibCalls: infer allockind attributes on relevant functions
Differential Revision: https://reviews.llvm.org/D123089
|
#
1deea714 |
| 03-May-2022 |
Augie Fackler <augie@google.com> |
BuildLibCalls: simplify switch statement slightly
Per feedback on D123086 after submit.
Also added a test for vec_malloc et al attribute inference to show it's doing the right thing.
The new tests
BuildLibCalls: simplify switch statement slightly
Per feedback on D123086 after submit.
Also added a test for vec_malloc et al attribute inference to show it's doing the right thing.
The new tests exposed a defect, corrected by adding vec_free to the list of free functions in MemoryBuiltins.cpp, which had been overlooked all the way back in D94710, over a year ago.
Differential Revision: https://reviews.llvm.org/D124859
show more ...
|
#
304378fd |
| 20-Apr-2022 |
Jonas Paulsson <paulsson@linux.vnet.ibm.com> |
Reapply "[BuildLibCalls] Introduce getOrInsertLibFunc() for use when building libcalls." (was 0f8c626). This reverts commit 14d9390.
The patch previously failed to recognize cases where user had def
Reapply "[BuildLibCalls] Introduce getOrInsertLibFunc() for use when building libcalls." (was 0f8c626). This reverts commit 14d9390.
The patch previously failed to recognize cases where user had defined a function alias with an identical name as that of the library function. Module::getFunction() would then return nullptr which is what the sanitizer discovered.
In this updated version a new function isLibFuncEmittable() has as well been introduced which is now used instead of TLI->has() anytime a library function is to be emitted . It additionally also makes sure there is e.g. no function alias with the same name in the module.
Reviewed By: Eli Friedman
Differential Revision: https://reviews.llvm.org/D123198
show more ...
|