[all-commits] [llvm/llvm-project] cd0926: No longer generate calls to *_finite

Hans via All-commits all-commits at lists.llvm.org
Fri Feb 28 03:00:28 PST 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: cd0926d087a85c5ee1222ca80980b4440214a822
      https://github.com/llvm/llvm-project/commit/cd0926d087a85c5ee1222ca80980b4440214a822
  Author: serge-sans-paille <sguelton at redhat.com>
  Date:   2020-02-28 (Fri, 28 Feb 2020)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
    M llvm/test/CodeGen/X86/finite-libcalls.ll

  Log Message:
  -----------
  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

(cherry picked from commit 6d15c4deab51498b70825fb6cefbbfe8f3d9bdcf)

For https://bugs.llvm.org/show_bug.cgi?id=45034




More information about the All-commits mailing list