[PATCH] [WinEH] Add an EH registration and state insertion pass for 32-bit x86
Reid Kleckner
rnk at google.com
Thu Apr 30 17:02:25 PDT 2015
In http://reviews.llvm.org/D9422#164536, @majnemer wrote:
> What ensures that control dependence will not be violated by SDAG? Should `linkExceptionRegistration` and `unlinkExceptionRegistration` use volatile loads and stores?
First, today we don't support asynch EH, so any legal reordering of memory accesses within the block is fine. Second, if we do support asynch EH eventually, it will likely take the form of invoked intrinsics, which will have to deploy its own defense against load reordering. So, I don't think volatile is really necessary.
================
Comment at: lib/Target/X86/X86WinEHState.cpp:143
@@ +142,3 @@
+/// EHRegistrationNode *Next;
+/// EXCEPTION_DISPOSITION (*Handler)(...);
+/// };
----------------
majnemer wrote:
> We could be more specific, I believe it is a `PEXCEPTION_ROUTINE`.
I deleted the extra type information because it felt like the comment was bloated.
http://reviews.llvm.org/D9422
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list