History log of /llvm-project/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp (Results 1 – 25 of 57)
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
# 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.


# 4831e0aa 05-Nov-2024 Jay Foad <jay.foad@amd.com>

[IR] Disallow recursive types (#114799)

StructType::setBody is the only mechanism that can potentially create
recursion in the type system. Add a runtime check that it is not
actually used to crea

[IR] Disallow recursive types (#114799)

StructType::setBody is the only mechanism that can potentially create
recursion in the type system. Add a runtime check that it is not
actually used to create recursion.

If the check fails, report an error from LLParser, BitcodeReader and
IRLinker. In all other cases assert that the check succeeds.

In future StructType::setBody will be removed in favor of specifying the
body when the type is created, so any performance hit from this runtime
check will be temporary.

show more ...


# 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
# 52b48a70 13-Sep-2024 JOE1994 <joseph942010@gmail.com>

[llvm][unittests] Strip unneeded use of raw_string_ostream::str() (NFC)

Avoid excess layer of indirection.


Revision tags: 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 ...


# fb9e685f 15-Aug-2024 YunQiang Su <syq@debian.org>

Intrinsic: introduce minimumnum and maximumnum for IR and SelectionDAG (#96649)

C23 introduced new functions fminimum_num and fmaximum_num, and they
follow the minimumNumber and maximumNumber of IE

Intrinsic: introduce minimumnum and maximumnum for IR and SelectionDAG (#96649)

C23 introduced new functions fminimum_num and fmaximum_num, and they
follow the minimumNumber and maximumNumber of IEEE754-2019. Let's
introduce new intrinsics to support them.

This patch introduces support only support for scalar values. The
support of
vector (vp, vp.reduce, vector.reduce),
experimental.constrained
will be added in future patches.

With this patch, MIPSr6 and LoongArch can work out of box with
fcanonical and fmax/fmin.

Aarch64/PowerPC64 can use the same login as MIPSr6 and LoongArch, while
they have no fcanonical support yet.
I will add it in future patches.

The FMIN/FMAX of RISC-V instructions follows the
minimumNumber/maximumNumber of IEEE754-2019. We can just add it in
future patch.

Background

https://discourse.llvm.org/t/rfc-fix-llvm-min-f-and-llvm-max-f-intrinsics/79735
Currently we have fminnum/fmaxnum, which have different behavior on
different platform for NUM vs sNaN:
1) Fallback to fmin(3)/fmax(3): return qNaN.
2) ARM64/ARM32+Neon: same as libc.
3) MIPSr6/LoongArch/RISC-V: return NUM.

And the fix of fminnum/fmaxnum to follow minNUM/maxNUM of IEEE754-2008
will submit as separated patches.

show more ...


# 1ccd7ab8 13-Aug-2024 Snehasish Kumar <snehasishk@google.com>

Enhance TLI detection of __size_returning_new lib funcs. (#102391)

Previously the return types of __size_returning_new variants were not
validated based on their members. This patch checks the memb

Enhance TLI detection of __size_returning_new lib funcs. (#102391)

Previously the return types of __size_returning_new variants were not
validated based on their members. This patch checks the members
manually, also generalizes the size_t checks to be based on the module
instead of being hardcoded.

As requested in followup comment on
https://github.com/llvm/llvm-project/pull/101564.

show more ...


# 874890c6 07-Aug-2024 Snehasish Kumar <snehasishk@google.com>

Add __size_returning_new variant detection to TLI. (#101564)

Add support to detect __size_returning_new variants defined inproposal
P0901R5 to extend to operator new, see
http://www.open-std.org/j

Add __size_returning_new variant detection to TLI. (#101564)

Add support to detect __size_returning_new variants defined inproposal
P0901R5 to extend to operator new, see
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0901r5.html for
details.

This PR matches the declarations exported by tcmalloc in
https://github.com/google/tcmalloc/blob/f2516691d01051defc558679f37720bba88d9862/tcmalloc/malloc_extension.h#L707-L711

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


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


# f2f18459 21-Jun-2024 Nikita Popov <npopov@redhat.com>

Revert "Intrinsic: introduce minimumnum and maximumnum (#93841)"

As far as I can tell, this pull request was not approved, and
did not go through an RFC on discourse.

This reverts commit 8988148003

Revert "Intrinsic: introduce minimumnum and maximumnum (#93841)"

As far as I can tell, this pull request was not approved, and
did not go through an RFC on discourse.

This reverts commit 89881480030f48f83af668175b70a9798edca2fb.
This reverts commit 225d8fc8eb24fb797154c1ef6dcbe5ba033142da.

show more ...


# 89881480 21-Jun-2024 YunQiang Su <syq@debian.org>

Intrinsic: introduce minimumnum and maximumnum (#93841)

Currently, on different platform, the behaivor of llvm.minnum is
different if one operand is sNaN:

When we compare sNaN vs NUM:

ARM/AAr

Intrinsic: introduce minimumnum and maximumnum (#93841)

Currently, on different platform, the behaivor of llvm.minnum is
different if one operand is sNaN:

When we compare sNaN vs NUM:

ARM/AArch64/PowerPC: follow the IEEE754-2008's minNUM: return qNaN.
RISC-V/Hexagon follow the IEEE754-2019's minimumNumber: return NUM. X86:
Returns NUM but not same with IEEE754-2019's minimumNumber as
+0.0 is not always greater than -0.0.
MIPS/LoongArch/Generic: return NUM.
LIBCALL: returns qNaN.

So, let's introduce llvm.minmumnum/llvm.maximumnum, which always follow
IEEE754-2019's minimumNumber/maximumNumber.

Half-fix: #93033

show more ...


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5
# ce3485a0 30-Apr-2024 Max Winkler <max.enrico.winkler@gmail.com>

[llvm][GlobalOpt] Remove empty atexit destructors/handlers (#88836)

https://godbolt.org/z/frjhqMKqc for an example.

Removal of allocations due to empty `__cxa_atexit` destructor calls is
done by

[llvm][GlobalOpt] Remove empty atexit destructors/handlers (#88836)

https://godbolt.org/z/frjhqMKqc for an example.

Removal of allocations due to empty `__cxa_atexit` destructor calls is
done by the following globalopt pass.
This pass currently does not look for `atexit` handlers generated for
platforms that do not use `__cxa_atexit`.
By default Win32 and AIX use `atexit`.

I don't see an easy way to only remove `atexit` calls that the compiler
generated without looking at the generated mangled name of the atexit
handler that is being registered.
However we can easily remove all `atexit` calls that register empty
handlers since it is trivial to ensure the removed call still returns
`0` which is the value for success.

show more ...


Revision tags: 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
# 1901f442 24-Feb-2024 Artem Tyurin <artem.tyurin@gmail.com>

[InstCombine] Handle more even/odd math functions (#81324)

At the moment this PR adds support only for `erf` function.

Fixes #77220.


Revision tags: llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# c4ff0a67 21-Dec-2023 Paschalis Mpeis <paschalis.mpeis@arm.com>

[TLI] Add getLibFunc that accepts an Opcode and scalar Type. (#75919)

It sets a LibFunc similarly with the other two getLibFunc methods.
Currently, it supports only the FRem Instruction.

Add tes

[TLI] Add getLibFunc that accepts an Opcode and scalar Type. (#75919)

It sets a LibFunc similarly with the other two getLibFunc methods.
Currently, it supports only the FRem Instruction.

Add tests for FRem.

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3
# 94510049 15-Oct-2023 Yingwei Zheng <dtcxzyw2333@gmail.com>

[InstCombine][TLI] Fix function prototype of `labs` (#69077)

`i64 @labs(i32)` is incorrectly recognized as `LibFunc_labs` because
type ID `Long` matches both `i32` and `i64`. This PR requires the t

[InstCombine][TLI] Fix function prototype of `labs` (#69077)

`i64 @labs(i32)` is incorrectly recognized as `LibFunc_labs` because
type ID `Long` matches both `i32` and `i64`. This PR requires the type
of argument to match the return value.

Fixes #69059.

show more ...


Revision tags: llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0
# 4d5906e0 12-Sep-2023 Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>

[llvm][unittests] Remove unneeded header includes


123