[llvm] [CodeGen][Mips] Remove fp128 libcall list (PR #153798)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 15 07:29:32 PDT 2025


================
@@ -11161,6 +11167,12 @@ TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const {
     for (unsigned Value = 0, NumValues = ArgTys.size(); Value != NumValues;
          ++Value) {
       Type *ArgTy = ArgTys[Value];
+      Type *OrigArgTy = ArgTy;
+      if (Args[i].Ty != Args[i].OrigTy) {
+        assert(Value == 0 && "Only supported for non-aggregate arguments");
+        OrigArgTy = Args[i].OrigTy;
+      }
----------------
s-barannikov wrote:

<details>
<summary>patch</summary>

```patch
Subject: [PATCH] patch
---
Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp	(revision 9080a4972b88acc8bb2d198fa148222217a38fcd)
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp	(date 1755268023696)
@@ -11156,21 +11156,21 @@
   CLI.Outs.clear();
   CLI.OutVals.clear();
   for (unsigned i = 0, e = Args.size(); i != e; ++i) {
-    SmallVector<Type *, 4> ArgTys;
-    ComputeValueTypes(DL, Args[i].Ty, ArgTys);
+    SmallVector<Type *, 4> OrigArgTys;
+    ComputeValueTypes(DL, Args[i].OrigTy, OrigArgTys);
     // FIXME: Split arguments if CLI.IsPostTypeLegalization
     Type *FinalType = Args[i].Ty;
     if (Args[i].IsByVal)
       FinalType = Args[i].IndirectType;
     bool NeedsRegBlock = functionArgumentNeedsConsecutiveRegisters(
         FinalType, CLI.CallConv, CLI.IsVarArg, DL);
-    for (unsigned Value = 0, NumValues = ArgTys.size(); Value != NumValues;
+    for (unsigned Value = 0, NumValues = OrigArgTys.size(); Value != NumValues;
          ++Value) {
-      Type *ArgTy = ArgTys[Value];
-      Type *OrigArgTy = ArgTy;
+      Type *OrigArgTy = OrigArgTys[Value];
+      Type *ArgTy = OrigArgTys[Value];
       if (Args[i].Ty != Args[i].OrigTy) {
         assert(Value == 0 && "Only supported for non-aggregate arguments");
-        OrigArgTy = Args[i].OrigTy;
+        ArgTy = Args[i].Ty;
       }
 
       EVT VT = getValueType(DL, ArgTy);
```
</details>


https://github.com/llvm/llvm-project/pull/153798


More information about the llvm-commits mailing list