[PATCH] D27195: [ARM] GlobalISel: Lower more than 4 arguments

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 16 11:10:25 PST 2016

t.p.northover accepted this revision.
t.p.northover added a comment.
This revision is now accepted and ready to land.

Looks reasonable to me, modulo splitting it up slightly (which isn't even essential).

Comment at: lib/Target/ARM/ARMInstructionSelector.cpp:84-86
+  using namespace TargetOpcode;
+  switch (I.getOpcode()) {
+  case G_ADD:
rovka wrote:
> t.p.northover wrote:
> > Is this selection stuff intentionally in the same patch? Seems like it's an orthogonal issue.
> It's intentional, I wanted to have end-to-end support for more than 4 arguments, and that includes selecting loads from the stack. 
Yep, but while arg lowering depends on selection, the reverse isn't true. You could use and test these instructions without touching any CallLowering file. I think the changes are completely sound but the commit messages might be more coherent if you did it in two stages ("select XYZ" and "support more args") .


More information about the llvm-commits mailing list