[PATCH] D97247: [WebAssembly] Fix incorrect grouping and sorting of exceptions

Thomas Lively via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 23 14:48:35 PST 2021


tlively added a comment.

+1 This is an impressively thorough and deep explanation of the issue. Thanks for taking the time to write it up in addition to the time it must have taken to dive in and figure out what was happening. I certainly don't understand how all the CFG sorting works, so once things are working smoothly end-to-end, I would welcome a chance to understand it more deeply.



================
Comment at: llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp:343
     }
     EHInfo.SrcToUnwindDest = std::move(NewMap);
+    NewMap.clear();
----------------
dschuff wrote:
> does `move`ing from `NewMap` mean it can't be touched anymore at all? Or is calling some kind of initialization function on it OK?
> I guess if we think it's not ok, we could always use `swap` instead.
I took a look at the implementation of `DenseMap(DenseMap&&)` and it's implemented with a `swap`, so this should be fine.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97247



More information about the llvm-commits mailing list