[PATCH] D65023: [MS] Pass S_HEAPALLOCSITE metadata through SelectionDAG

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 22 13:11:04 PDT 2019


rnk added a comment.

We discussed this offline, and after looking at rL364516 <https://reviews.llvm.org/rL364516>, it seems like the side table might be a better way to go.



================
Comment at: llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp:789-790
+                                MachineFunction &MF) {
+  // Assume that a MDNodeSDNode operand associated with a call instruction is
+  // heapallocsite metadata.
+  if (NewInsn && NewInsn->isCall()) {
----------------
I don't think we should assume that any metadata node on a call is a heap alloc site.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:3390-3391
 
       // This is hot code, so optimize the two most common cases of 1 and 2
       // results.
       SDVTList VTList;
----------------
Given that this is hot code, I think we want to avoid scanning operands if possible. Can we only do this for variadic instructions, like calls?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D65023





More information about the llvm-commits mailing list