[PATCH] D67257: New statepoint spilling mechanism

zuojian lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 5 23:40:08 PDT 2019


linzj created this revision.
linzj added reviewers: arsenm, igor-laevsky, stoklund, qcolombet, myatsina.
Herald added subscribers: llvm-commits, ychen, arphaman, hiraditya, wdng, MatzeB.
Herald added a project: LLVM.

Remove the original statepoint's spill mechanism. New mechanism relies on LLVM's greedy register allocator. The original one has it own spill management, which cause conflict in some situation. There would be a chaotic code which contain lots of memory reads/writes, and much larger stack size.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D67257

Files:
  llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
  llvm/include/llvm/CodeGen/LiveRegMatrix.h
  llvm/include/llvm/CodeGen/SlotIndexes.h
  llvm/lib/CodeGen/CalcSpillWeights.cpp
  llvm/lib/CodeGen/InlineSpiller.cpp
  llvm/lib/CodeGen/InterferenceCache.cpp
  llvm/lib/CodeGen/LiveRegMatrix.cpp
  llvm/lib/CodeGen/RegAllocGreedy.cpp
  llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
  llvm/lib/CodeGen/SelectionDAG/StatepointLowering.h
  llvm/lib/CodeGen/SlotIndexes.cpp
  llvm/lib/CodeGen/SplitKit.cpp
  llvm/test/CodeGen/X86/statepoint-no-early-ldr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67257.219032.patch
Type: text/x-patch
Size: 43703 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190906/f651b894/attachment.bin>


More information about the llvm-commits mailing list