[PATCH] D107423: [WebAssembly] Make result of 'catch' inst variadic

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 4 13:41:23 PDT 2021


aheejin added inline comments.


================
Comment at: llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp:201
+                                 {
+                                     SymNode,            // exception symbol
+                                     Node->getOperand(0) // inchain
----------------
dschuff wrote:
> The order of these is different compared to what you had in ISelLowering. Likewise below for throw. I assume that's intentional, but why is it different?
The short answer is I don't know. I first copied the code but instruction selection errored out saying the chain should be the last node, so I changed the order, and it worked. (In the current ISelLowering version, if I change the order, it doesn't work either.) My guess is the expected order of chain is different in ISelLowering vs. instruction selection or something.. but I didn't specify the order of chain in `WebAssemblyISD::CATCH` myself, so I'm not sure how the expected order is determined, and I didn't spend more time to check. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107423



More information about the llvm-commits mailing list