[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