[all-commits] [llvm/llvm-project] adb8ad: DAG: Gracefully diagnose missing lrint/llrint/lrou...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Sun Aug 9 05:34:19 PDT 2026
Branch: refs/heads/users/arsenm/runtime-libcalls/fix-overproviding-fp128-libcalls
Home: https://github.com/llvm/llvm-project
Commit: adb8adc352c408b20e5c77cc1c4d77287971a5dc
https://github.com/llvm/llvm-project/commit/adb8adc352c408b20e5c77cc1c4d77287971a5dc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-08-09 (Sun, 09 Aug 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
A llvm/test/CodeGen/X86/xrint-no-libcall-error.ll
Log Message:
-----------
DAG: Gracefully diagnose missing lrint/llrint/lround/llround libcall
Avoid hitting the fatal error in makeLibCall by emitting a diagnostic
if the library call is unsupported.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 44ac984556964114447eee0a6660270536f3a15c
https://github.com/llvm/llvm-project/commit/44ac984556964114447eee0a6660270536f3a15c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-08-09 (Sun, 09 Aug 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/X86/xrint-no-libcall-error.ll
Log Message:
-----------
DAG: Gracefully diagnose missing lrint/lround float-operand libcalls
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 0fc8b69b59ee60c27cf2640c07c2d421de3353f1
https://github.com/llvm/llvm-project/commit/0fc8b69b59ee60c27cf2640c07c2d421de3353f1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-08-09 (Sun, 09 Aug 2026)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/AMDGPU/fneg.ll
A llvm/test/CodeGen/NVPTX/f128-no-libcall-error.ll
Log Message:
-----------
DAG: Gracefully diagnose missing soft-float and strict-FP libcalls
Several soft-float legalization paths legalizer, called into a libcall
without checking whether the target provides one, fatally erroring for
fp128 operations on targets with no soft-float support.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Commit: 03117615540aba0bf6b7da564d8adc8e170c86df
https://github.com/llvm/llvm-project/commit/03117615540aba0bf6b7da564d8adc8e170c86df
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2026-08-09 (Sun, 09 Aug 2026)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/IR/RuntimeLibcalls.td
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
M llvm/test/CodeGen/ARM/llrint-conv.ll
M llvm/test/CodeGen/ARM/llround-conv.ll
M llvm/test/CodeGen/ARM/llvm.sincos.ll
M llvm/test/CodeGen/ARM/lrint-conv.ll
M llvm/test/CodeGen/ARM/lround-conv.ll
M llvm/test/CodeGen/ARM/vector-llrint.ll
M llvm/test/CodeGen/ARM/vector-lrint.ll
M llvm/test/CodeGen/AVR/llrint.ll
M llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/CodeGen/AVR/lrint.ll
M llvm/test/CodeGen/Generic/fp128-math-libcalls.ll
M llvm/test/CodeGen/Hexagon/llvm.exp10.ll
M llvm/test/CodeGen/Hexagon/llvm.sincos.ll
A llvm/test/CodeGen/LoongArch/llvm.exp10.fp128.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
A llvm/test/CodeGen/LoongArch/llvm.sincos.fp128.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
A llvm/test/CodeGen/LoongArch/lrint-conv.fp128.ll
M llvm/test/CodeGen/LoongArch/lrint-conv.ll
M llvm/test/CodeGen/MSP430/llvm.exp10.ll
M llvm/test/CodeGen/MSP430/llvm.sincos.ll
M llvm/test/CodeGen/MSP430/lrint-conv.ll
M llvm/test/CodeGen/Mips/ldexp.ll
A llvm/test/CodeGen/Mips/llrint-conv-fp128.ll
M llvm/test/CodeGen/Mips/llrint-conv.ll
M llvm/test/CodeGen/Mips/llvm.frexp.ll
A llvm/test/CodeGen/Mips/lrint-conv-fp128.ll
M llvm/test/CodeGen/Mips/lrint-conv.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum-i686.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
A llvm/test/CodeGen/X86/fp128-libcalls-gnu.ll
A llvm/test/CodeGen/X86/fp128-libcalls-strict-gnu.ll
M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/llrint-conv.ll
M llvm/test/CodeGen/X86/llround-conv.ll
M llvm/test/CodeGen/X86/lrint-conv-i32.ll
M llvm/test/CodeGen/X86/lrint-conv-i64.ll
M llvm/test/CodeGen/X86/lround-conv-i32.ll
M llvm/test/CodeGen/X86/lround-conv-i64.ll
M llvm/test/CodeGen/X86/vector-llrint.ll
M llvm/test/CodeGen/X86/vector-lrint.ll
M llvm/test/CodeGen/XCore/llvm.exp10.ll
M llvm/test/CodeGen/XCore/llvm.frexp.ll
M llvm/test/CodeGen/XCore/llvm.sincos.ll
M llvm/test/TableGen/RuntimeLibcallEmitter-calling-conv.td
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
RuntimeLibcalls: Fix reporting incorrectly typed fp128 long double functions
l-suffixed long double math functions are fp128 only when the target's
long double is fp128. The default set provided them on every target that was
not x87 or ppc_fp128, so targets using double as long double wrongly reported
the fp128 l-suffixed functions.
Update tests that were reliant on phantom fp128 calls. These are only available
with glibc on select targets. In cases where the target supports the calls in
some triple, split the tests. In cases where the target has no fp128 library
support, delete the tests.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
Compare: https://github.com/llvm/llvm-project/compare/d2bd3fb85b5c...03117615540a
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list