[PATCH] D101140: [WebAssembly][CodeGen] IR support for WebAssembly local variables

Thomas Lively via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 4 17:18:05 PDT 2021


tlively added inline comments.


================
Comment at: llvm/include/llvm/CodeGen/MIRYamlMapping.h:351
     IO.enumCase(ID, "scalable-vector", TargetStackID::ScalableVector);
+    IO.enumCase(ID, "object", TargetStackID::Object);
     IO.enumCase(ID, "noalloc", TargetStackID::NoAlloc);
----------------
Is there a good test to demonstrate this change in?


================
Comment at: llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp:34-36
+// runs between then and DAG building time, though, so instead we hoist stack
+// objects lazily when they are first used, and comprehensively after the DAG is
+// built via the PreprocessISelDAG hook, called by the
----------------
Why do this in two places instead of just once comprehensively in the hook? It would be good to explain that in the comment, too.


================
Comment at: llvm/lib/Target/WebAssembly/Utils/WebAssemblyUtilities.cpp:63-64
+  MFI.setObjectOffset(FrameIndex, Local);
+  // Allocate WebAssembly locals for each non-aggregate component of the
+  // allocation.
+  for (EVT ValueVT : ValueVTs)
----------------
Can there be aggregate components? What do we do with them?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D101140



More information about the cfe-commits mailing list