[PATCH] D80344: [Windows SEH]: HARDWARE EXCEPTION HANDLING (MSVC -EHa) - Part 1

Joseph Tremoulet via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 19 11:35:35 PST 2020


JosephTremoulet added inline comments.


================
Comment at: llvm/docs/LangRef.rst:11587
+C++ object with a non-trivial destructor.  ``llvm.seh.scope.begin`` is used to mark
+the start of the region; it is aways called with ``invoke``, with the unwind block
+being the desired unwind destination for any potentially-throwing instructions
----------------
Typo: aways -> always


================
Comment at: llvm/docs/LangRef.rst:11591
+and the EH cleanup is no longer required (e.g. because the destructor is being
+called).
+
----------------
Maybe add something here like

> Any set of operations can then be confined to the region by reading their leaf inputs via volatile loads and writing their root outputs via volatile stores.

IIUC, for something like `x = 1 / y`, the volatile load of y and volatile store of x being things you can't move past these intrinsic calls is how you make sure the potentially-faulting divide stays in the right scope.  IMO it's a bit confusing to talk about "arbitrary faulting instructions" being constrained without that extra bit. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80344



More information about the cfe-commits mailing list