[PATCH] D15517: [WinEH] Use operand bundles to describe call sites
David Majnemer via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 14 19:11:19 PST 2015
majnemer created this revision.
majnemer added reviewers: rnk, andrew.w.kaylor, JosephTremoulet, sanjoy.
majnemer added a subscriber: llvm-commits.
SimplifyCFG allows tail merging with code which terminates in
unreachable which, in turn, makes it possible for an invoke to end up in
a funclet which it was not originally part of.
Using operand bundles on invokes allows us to determine whether or not
an invoke was part of a funclet in the source program.
Furthermore, it allows us to unambiguously answer questions about the
legality of inlining into call sites which the personality may have
trouble with.
http://reviews.llvm.org/D15517
Files:
include/llvm/IR/InstrTypes.h
include/llvm/IR/LLVMContext.h
include/llvm/Transforms/Utils/Local.h
lib/CodeGen/WinEHPrepare.cpp
lib/IR/LLVMContext.cpp
lib/IR/Verifier.cpp
lib/Transforms/Utils/InlineFunction.cpp
lib/Transforms/Utils/Local.cpp
test/CodeGen/WinEH/wineh-cloning.ll
test/CodeGen/WinEH/wineh-demotion.ll
test/CodeGen/WinEH/wineh-no-demotion.ll
test/CodeGen/X86/funclet-layout.ll
test/CodeGen/X86/seh-catchpad.ll
test/CodeGen/X86/seh-except-finally.ll
test/CodeGen/X86/win-catchpad-nested-cxx.ll
test/CodeGen/X86/win-catchpad-nested.ll
test/CodeGen/X86/win32-eh-states.ll
test/CodeGen/X86/win32-seh-nested-finally.ll
test/CodeGen/X86/wineh-coreclr.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15517.42814.patch
Type: text/x-patch
Size: 28180 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151215/90649bef/attachment-0001.bin>
More information about the llvm-commits
mailing list