[llvm] r235791 - [WinEH] Find correct cloned entry block for outlined handler functions.

Andrew Kaylor andrew.kaylor at intel.com
Fri Apr 24 16:27:33 PDT 2015


Author: akaylor
Date: Fri Apr 24 18:27:32 2015
New Revision: 235791

URL: http://llvm.org/viewvc/llvm-project?rev=235791&view=rev
Log:
[WinEH] Find correct cloned entry block for outlined handler functions.

Modified:
    llvm/trunk/lib/CodeGen/WinEHPrepare.cpp

Modified: llvm/trunk/lib/CodeGen/WinEHPrepare.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/WinEHPrepare.cpp?rev=235791&r1=235790&r2=235791&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/WinEHPrepare.cpp (original)
+++ llvm/trunk/lib/CodeGen/WinEHPrepare.cpp Fri Apr 24 18:27:32 2015
@@ -1723,7 +1723,8 @@ void WinEHPrepare::mapLandingPadBlocks(L
       // exceptions but code called from catches can. For SEH, it isn't
       // important if some finally code before a catch-all is executed out of
       // line or after recovering from the exception.
-      if (Personality == EHPersonality::MSVC_CXX)
+      if (Personality == EHPersonality::MSVC_CXX && LPad->isCleanup() && 
+          !Actions->includesCleanup())
         findCleanupHandlers(Actions, BB, BB);
 
       // Add the catch handler to the action list.





More information about the llvm-commits mailing list