[PATCH] [WinEH] Add an EH registration and state insertion pass for 32-bit x86
David Majnemer
david.majnemer at gmail.com
Thu Apr 30 16:48:09 PDT 2015
What ensures that control dependence will not be violated by SDAG? Should `linkExceptionRegistration` and `unlinkExceptionRegistration` use volatile loads and stores?
================
Comment at: lib/Target/X86/X86WinEHState.cpp:132
@@ +131,3 @@
+
+ F.dump();
+
----------------
Debug leftovers?
================
Comment at: lib/Target/X86/X86WinEHState.cpp:143
@@ +142,3 @@
+/// EHRegistrationNode *Next;
+/// EXCEPTION_DISPOSITION (*Handler)(...);
+/// };
----------------
We could be more specific, I believe it is a `PEXCEPTION_ROUTINE`.
================
Comment at: lib/Target/X86/X86WinEHState.cpp:173
@@ +172,3 @@
+ };
+ CXXEH3RegistrationTy = StructType::create(FieldTys, "CXXExceptionRegistration");
+ return CXXEH3RegistrationTy;
----------------
clang-format?
================
Comment at: lib/Target/X86/X86WinEHState.cpp:181
@@ +180,3 @@
+/// void *ScopeTable;
+/// int32_t TryLevel
+/// };
----------------
The other fields trailed with a ';', what format do you want to use?
================
Comment at: lib/Target/X86/X86WinEHState.cpp:197
@@ +196,3 @@
+/// The _except_handler4 registration node:
+/// EH4ExceptionRegistration {
+/// void *SavedESP
----------------
The other pseudo-types started with 'struct'. We should be consistent and have all of them or none of them start with it.
http://reviews.llvm.org/D9422
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list