[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