[all-commits] [llvm/llvm-project] 238c3d: [CodeGen][Mips] Remove fp128 libcall list (#153798)
Nikita Popov via All-commits
all-commits at lists.llvm.org
Mon Aug 18 00:23:03 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 238c3dcd0dcc475e0695541351b8f4ad67c465b4
https://github.com/llvm/llvm-project/commit/238c3dcd0dcc475e0695541351b8f4ad67c465b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-08-18 (Mon, 18 Aug 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/test/CodeGen/Mips/fmuladd-soft-float.ll
Log Message:
-----------
[CodeGen][Mips] Remove fp128 libcall list (#153798)
Mips requires fp128 args/returns to be passed differently than i128. It
handles this by inspecting the pre-legalization type. However, for soft
float libcalls, the original type is currently not provided (it will
look like a i128 call). To work around that, MIPS maintains a list of
libcalls working on fp128.
This patch removes that list by providing the original, pre-softening
type to calling convention lowering. This is done by carrying additional
information in CallLoweringInfo, as we unfortunately do need both types
(we want the un-softened type for OrigTy, but we need the softened type
for the actual register assignment etc.)
This is in preparation for completely removing all the custom
pre-analysis code in the Mips backend and replacing it with use of
OrigTy.
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