[PATCH] D15139: [IR] Reformulate LLVM's EH funclet IR

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 2 23:27:40 PST 2015


majnemer added inline comments.

================
Comment at: lib/CodeGen/WinEHPrepare.cpp:1858-1860
@@ -1857,5 +817,2 @@
       }
-      // FIXME: Check for invokes/cleanuprets/cleanupendpads which unwind to
-      // implausible catchendpads (i.e. catchendpad not in immediate parent
-      // funclet).
     }
----------------
Thinking this over, it is not enough for the catchpad to be deleted even if it is immediately followed by unreachable.  For the C++ personality, the catchpad denotes program code executed by the personality routine (copy constructors for catch parameters).  While grotesque, it is conceivable that the copy-constructor never returns and continues to call other functions, etc.

AFAICT, it is OK if the catch-parameter's type will not result in copy-constructors getting executed.


http://reviews.llvm.org/D15139





More information about the llvm-commits mailing list