[PATCH] D80163: [X86][VARARG] Avoid spilling xmm registers for va_start.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 14 20:40:41 PDT 2020
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/X86/X86ExpandPseudo.cpp:531
+
+ GuardedBlock->addLiveIn(
+ SaveVarargXmmRegsInstr->getOperand(OpndIdx).getReg());
----------------
Why do we only add them ass liveins this late? Shouldn't they have been livein when the block was created in the custom inserter?
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:31654
+
+ for (unsigned OpndIdx = 3, RegIdx = 0;
+ OpndIdx + 1 < SrcPseudoInstr.getNumOperands(); OpndIdx++, RegIdx++)
----------------
Is RegIdx used here?
================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:31657
+ MIB.addReg(SrcPseudoInstr.getOperand(OpndIdx).getReg(),
+ RegState::InternalRead);
+
----------------
I'm not familiar with InternalRead. The documentation says it means it was defined by the same instruction. Is that case here?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80163/new/
https://reviews.llvm.org/D80163
More information about the llvm-commits
mailing list