[PATCH] D67963: [MIPS GlobalISel] Lower aggregate structure return arguments

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 24 09:21:55 PDT 2019


Petar.Avramovic marked 2 inline comments as done.
Petar.Avramovic added a comment.

> It looks like the tests check calling the splitToValueTypes from the MipsCallLowering::lowerReturn only.

Right. I will add tests for call of a function that returns aggregate structure.
Now that I think of it, I didn't encounter any aggregate structure as an argument in test-suite.
They get turned into inreg arguments like in this tests,
maybe we could mark aggregate structure as unsupported if they are arguments for now
and only allow them if they are return values?



================
Comment at: lib/Target/Mips/MipsCallLowering.cpp:466
     setArgFlags(AInfo, i + AttributeList::FirstArgIndex, DL, F);
-    splitToValueTypes(AInfo, i, ArgInfos, OrigArgIndices);
+    splitToValueTypes(DL, AInfo, i, ArgInfos, OrigArgIndices);
     ++i;
----------------
If yes, then we could also inline old splitToValueTypes here.


================
Comment at: lib/Target/Mips/MipsCallLowering.cpp:586
 
-    splitToValueTypes(Arg, i, ArgInfos, OrigArgIndices);
+    splitToValueTypes(DL, Arg, i, ArgInfos, OrigArgIndices);
     ++i;
----------------
and here.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67963/new/

https://reviews.llvm.org/D67963





More information about the llvm-commits mailing list