HomePhabricator

No longer generate calls to *_finite

Authored by serge-sans-paille on Feb 21 2020, 6:51 AM.

Description

No longer generate calls to *_finite

According to Joseph Myers, a libm maintainer

They were only ever an ABI (selected by use of -ffinite-math-only or
options implying it, which resulted in the headers using "asm" to redirect
calls to some libm functions), not an API. The change means that ABI has
turned into compat symbols (only available for existing binaries, not for
anything newly linked, not included in static libm at all, not included in
shared libm for future glibc ports such as RV32), so, yes, in any case
where tools generate direct calls to those functions (rather than just
following the "asm" annotations on function declarations in the headers),
they need to stop doing so.

As a consequence, we should no longer assume these symbols are available on the
target system.

Still keep the TargetLibraryInfo for constant folding.

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

Details

Committed
serge-sans-pailleFeb 28 2020, 1:07 AM
Differential Revision
D74712: Remove *_finite library support, following upstream
Parents
rG01f9abbb50b1: llvm-ar: Fix MinGW compilation
Branches
Unknown
Tags
Unknown