summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsCallLowering.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/Mips/MipsCallLowering.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsCallLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsCallLowering.cpp b/llvm/lib/Target/Mips/MipsCallLowering.cpp
index 0d0e446fee9..aac29967f59 100644
--- a/llvm/lib/Target/Mips/MipsCallLowering.cpp
+++ b/llvm/lib/Target/Mips/MipsCallLowering.cpp
@@ -508,7 +508,9 @@ bool MipsCallLowering::lowerCall(MachineIRBuilder &MIRBuilder,
for (auto &Arg : Info.OrigArgs) {
if (!isSupportedType(Arg.Ty))
return false;
- if (Arg.Flags[0].isByVal() || Arg.Flags[0].isSRet())
+ if (Arg.Flags[0].isByVal())
+ return false;
+ if (Arg.Flags[0].isSRet() && !Arg.Ty->isPointerTy())
return false;
}
OpenPOWER on IntegriCloud