[PATCH] D15325: [WinEH] Update CoreCLR EH state numbering

Joseph Tremoulet via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 7 23:11:08 PST 2015


JosephTremoulet created this revision.
JosephTremoulet added reviewers: majnemer, rnk, andrew.w.kaylor.
JosephTremoulet added subscribers: llvm-commits, AndyAyers.

Fix the CLR state numbering to generate correct tables for the new funclet EH
representation, and update the lit test to verify them.

Functionally, there are three changes:
 - Arity of cleanuppad parameters needs to use getNumArgOperands() instead
   of getNumOperands() now that cleanuppad has a parent token operand.
 - We assign a catchswitch the state of its first catch, not its unwind
   destination.
 - Don't queue catchpads' users -- this could visit handlers for inner
   tries before handlers for outer tries, and we'll visit everything we
   need to, in correct order, by queuing pads' predecessors.

Also change some variable names to improve readability.


http://reviews.llvm.org/D15325

Files:
  lib/CodeGen/WinEHPrepare.cpp
  test/CodeGen/X86/wineh-coreclr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15325.42141.patch
Type: text/x-patch
Size: 11782 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151208/eebc398e/attachment-0001.bin>


More information about the llvm-commits mailing list