[PATCH] [WinEH] Fix problem with mapping handler blocks when multiple clauses share a handler implementation.
Andy Kaylor
andrew.kaylor at intel.com
Mon Apr 20 13:53:58 PDT 2015
Hi majnemer, rnk,
This addresses a failure which could occur when optimized IR eliminated handler-specific blocks and created a single shared handler representation. The IR unconditionally flows into a handler block even when a selector dispatch would normally be expected. I believe this can only happen if the landing pad has a catch-all handler and the handlers for prior clauses are identical to the catch-all implementation with no intervening clean-up.
My proposed solution effectively eliminates the type-specific catch handlers from the final IR produced, but I think this is good because the resulting code will be more compact yet functionally equivalent.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D9125
Files:
lib/CodeGen/WinEHPrepare.cpp
test/CodeGen/WinEH/cppeh-shared-empty-catch.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9125.24059.patch
Type: text/x-patch
Size: 7814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150420/6a3887bc/attachment.bin>
More information about the llvm-commits
mailing list