[PATCH] [WinEH] C++ EH state number fixes

Reid Kleckner rnk at google.com
Tue May 19 17:43:02 PDT 2015


lgtm


REPOSITORY
  rL LLVM

================
Comment at: lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp:394-396
@@ +393,5 @@
+
+  // If we found an existing entry for this set of handlers, extend the range
+  // but move the entry to the end of the map vector.  The order of entries
+  // in the map is critical to the way that the runtime finds handlers.
+  if (I != E) {
----------------
This might cover invokes in a state outside the try if block placement makes it so. Probably worth a comment that this isn't always a correct change.

================
Comment at: lib/CodeGen/WinEHPrepare.cpp:221
@@ -216,1 +220,3 @@
                                         BasicBlock *NewBB) = 0;
+  virtual CloningAction handleIndiretBr(ValueToValueMapTy &VMap,
+                                        const IndirectBrInst *IBr,
----------------
Missing the 'c' in Indirect

http://reviews.llvm.org/D9787

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list