[PATCH] D69372: [X86][VARARG] Avoid spilling xmm vararg arguments.

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 10 17:16:11 PST 2020


rnk added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:3711
+        VarargXMMOps.push_back(ALVal);
+        VarargXMMOps.push_back(
+            DAG.getIntPtrConstant(FuncInfo->getThunkRegSaveFrameIndex(), dl));
----------------
I haven't reviewed all of this code, but we have to find some way to refactor LowerCall. It was already poorly factored and long, but this is just too much complexity, too many lines of code. We need to find some way to separate concerns.


================
Comment at: llvm/test/CodeGen/X86/musttail-varargs.ll:299-300
 
-; This thunk shouldn't require any spills and reloads, assuming the register
-; allocator knows what it's doing.
 
----------------
This seems unfortunate. :( Does all this go away if you put the "thunk" attribute on it? Everything in this file is meant to be a test for universal thunks, so adding the attribute is reasonable.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69372





More information about the llvm-commits mailing list