[llvm] r235223 - [WinEH] Reusing HandlerType entries leads to small CatchHigh values

David Majnemer david.majnemer at gmail.com
Fri Apr 17 13:12:09 PDT 2015


Author: majnemer
Date: Fri Apr 17 15:12:09 2015
New Revision: 235223

URL: http://llvm.org/viewvc/llvm-project?rev=235223&view=rev
Log:
[WinEH] Reusing HandlerType entries leads to small CatchHigh values

CatchHigh may be smaller than TryHigh if we reuse an outlined catch
handler for two different invokes with different EH states.  We have no
evidence which shows that CatchHigh must be greater than TryHigh or
TryLow.  We can revisit this if we turn out to be wrong.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp?rev=235223&r1=235222&r2=235223&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp Fri Apr 17 15:12:09 2015
@@ -437,7 +437,6 @@ void Win64Exception::emitCXXFrameHandler
             std::max(CatchHigh, FuncInfo.CatchHandlerMaxState[HT.Handler]);
 
       assert(TBME.TryLow <= TBME.TryHigh);
-      assert(CatchHigh >= TBME.TryHigh);
       OS.EmitIntValue(TBME.TryLow, 4);                    // TryLow
       OS.EmitIntValue(TBME.TryHigh, 4);                   // TryHigh
       OS.EmitIntValue(CatchHigh, 4);                      // CatchHigh





More information about the llvm-commits mailing list