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

serge-sans-paille via All-commits all-commits at lists.llvm.org
Fri Feb 28 01:07:48 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6d15c4deab51498b70825fb6cefbbfe8f3d9bdcf
      https://github.com/llvm/llvm-project/commit/6d15c4deab51498b70825fb6cefbbfe8f3d9bdcf
  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




More information about the All-commits mailing list