[llvm] 71d986b - DAG: Use LibcallImpl overload of makeLibCall (#215987)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 13 02:14:02 PDT 2026
Author: Matt Arsenault
Date: 2026-08-13T09:13:57Z
New Revision: 71d986b807875e2c9927e91d4407651e0d2e1d2e
URL: https://github.com/llvm/llvm-project/commit/71d986b807875e2c9927e91d4407651e0d2e1d2e
DIFF: https://github.com/llvm/llvm-project/commit/71d986b807875e2c9927e91d4407651e0d2e1d2e.diff
LOG: DAG: Use LibcallImpl overload of makeLibCall (#215987)
We already have the LibcallImpl here, so use it instead
of letting makeLibCall re-check the active impl.
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
index 2d0326105a43a..df394680924fc 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
@@ -661,7 +661,8 @@ SDValue DAGTypeLegalizer::SoftenFloatRes_ExpOp(SDNode *N) {
RTLIB::Libcall LC = IsPowI ? RTLIB::getPOWI(N->getValueType(0))
: RTLIB::getLDEXP(N->getValueType(0));
assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unexpected fpowi.");
- if (DAG.getLibcalls().getLibcallImpl(LC) == RTLIB::Unsupported) {
+ RTLIB::LibcallImpl LCImpl = DAG.getLibcalls().getLibcallImpl(LC);
+ if (LCImpl == RTLIB::Unsupported) {
// Some targets don't have a powi libcall; use pow instead.
// FIXME: Implement this if some target needs it.
DAG.getContext()->emitError("do not know how to soften fpowi to fpow");
@@ -687,9 +688,8 @@ SDValue DAGTypeLegalizer::SoftenFloatRes_ExpOp(SDNode *N) {
EVT OpsVT[2] = { N->getOperand(0 + Offset).getValueType(),
N->getOperand(1 + Offset).getValueType() };
CallOptions.setTypeListBeforeSoften(OpsVT, N->getValueType(0));
- std::pair<SDValue, SDValue> Tmp = TLI.makeLibCall(DAG, LC, NVT, Ops,
- CallOptions, SDLoc(N),
- Chain);
+ std::pair<SDValue, SDValue> Tmp =
+ TLI.makeLibCall(DAG, LCImpl, NVT, Ops, CallOptions, SDLoc(N), Chain);
if (IsStrict)
ReplaceValueWith(SDValue(N, 1), Tmp.second);
return Tmp.first;
More information about the llvm-commits
mailing list