[PATCH] D45559: [WebAssembly] Add Wasm personality and usesWindowsEHInstructions()

Derek Schuff via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 10 15:30:38 PDT 2018


dschuff added a comment.

In https://reviews.llvm.org/D45559#1094868, @aheejin wrote:

> Let me clarify. So there are the two options:
>
> 1. Use 'funclet' to only mean outlined funclet in AsmPrinter I guess @dschuff endorses this, right? I'm not sure what @majnemer meant. Actually this is what I first tried to do in this patch, but this seems to be a harder way now, because as I said, the term funclet is used to mean a lot of things and being used everywhere including both llvm and clang in all sorts of method names in comments, not only this personality functions.
> 2. Leave the uses of 'funclet' as they are, delete `usesWindowsEHInstructions` function and change the uses of them back to `isFuncletEHPersonality`, and create something like `usesFuncletLSDA` to be used in the cases that only pertain to real outlined funclets. This seems to be less work, because we don't need to change the uses of 'funclet' everywhere...


OK, I think I didn't understand that the term 'funclet' is also used to describe the BB subgraph that will later be outlined (in addition to the blob after outlining). I think if we keep that definition for now (i agree with @majnemer that it's not ideal but let's suppose we don't want to audit every use of the term everywhere right now), then it makes sense to say that Wasm is a 'funclet EH personality' because it uses 'funcletpad' instructions, and then the current uses of `isFuncletEHPersonality` that aren't relevant to wasm (i.e. the uses that this current version of this CL doesn't touch) could be `usesFuncletLSDA` or even something directly "windows"-related (`usesWindowsLSDA`, `isWIndowsEHPersonality`, etc).

So yeah I guess that's option 2, and I think that's what @majnemer was saying is prudent for now. So we can do that, and then discuss later whether it makes sense to do a more comprehensive renaming.


Repository:
  rL LLVM

https://reviews.llvm.org/D45559





More information about the llvm-commits mailing list