[PATCH] Work-in-progress omnibus patch for native Windows C++ EH outlining
Andy Kaylor
andrew.kaylor at intel.com
Wed Feb 25 12:36:44 PST 2015
Hi rnk, majnemer, ABataev,
I don't actually intend for this to receive a detailed review or to be committed in its current form. I'm submitting this patch just to provide a preview of where I'm going with the native Windows C++ EH outlining.
This patch includes the in-flight changes in D7844 and D7865. It also adds landing block pre-analysis support, catch and cleanup handler pruning, shared and nested handler support and landing pad body replacement (with a stub form of the yet to be finalized llvm.eh.actions intrinsic). We can talk about what to peel off next after the other patches land.
The code here still needs extensive re-factoring to minimize duplicate code and redundant logic. It also needs a good bit of clean-up. In particular, the clean-up code identification needs to be made more robust. I have some ideas about that but nothing implemented.
Feedback on the general algorithms and approach is welcome and will be appreciated. Suggestions as to better idioms, data structures and utility functions I should be using are likewise welcome. Style and formatting feedback is not necessary, but if you see me habitually doing something that is so jarring that you just want to tell me "Stop doing that!" feel free to do so.
REPOSITORY
rL LLVM
http://reviews.llvm.org/D7886
Files:
include/llvm/Transforms/Utils/Cloning.h
lib/CodeGen/WinEHPrepare.cpp
lib/Transforms/Utils/CloneFunction.cpp
test/CodeGen/X86/cppeh-catch-all.ll
test/CodeGen/X86/cppeh-catch-scalar.ll
test/CodeGen/X86/cppeh-frame-vars.ll
test/CodeGen/X86/cppeh-min-unwind.ll
test/CodeGen/X86/cppeh-nested-2.ll
test/CodeGen/X86/cppeh-nonalloca-frame-values.ll
test\CodeGen\X86\cppeh-nested-2.ll
test\CodeGen\X86\cppeh-nonalloca-frame-values.ll
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7886.20695.patch
Type: text/x-patch
Size: 108091 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150225/7ad76e7c/attachment.bin>
More information about the llvm-commits
mailing list