llvm-project/llvm/tools
Joseph Tremoulet 9ce71f76b9 [WinEH] Add cleanupendpad instruction
Summary:
Add a `cleanupendpad` instruction, used to mark exceptional exits out of
cleanups (for languages/targets that can abort a cleanup with another
exception).  The `cleanupendpad` instruction is similar to the `catchendpad`
instruction in that it is an EH pad which is the target of unwind edges in
the handler and which itself has an unwind edge to the next EH action.
The `cleanupendpad` instruction, similar to `cleanupret` has a `cleanuppad`
argument indicating which cleanup it exits.  The unwind successors of a
`cleanuppad`'s `cleanupendpad`s must agree with each other and with its
`cleanupret`s.

Update WinEHPrepare (and docs/tests) to accomodate `cleanupendpad`.

Reviewers: rnk, andrew.w.kaylor, majnemer

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D12433

llvm-svn: 246751
2015-09-03 09:09:43 +00:00
..
bugpoint Replace some calls to isa<LandingPadInst> with isEHPad() 2015-08-19 19:54:02 +00:00
bugpoint-passes bugpoint Enhancement. 2015-04-20 23:42:22 +00:00
dsymutil Reapply r246012 [dsymutil] Emit real dSYM companion binaries. 2015-09-02 16:49:13 +00:00
gold gold-plugin: Implement parallel LTO code generation using llvm::splitCodeGen. 2015-09-01 20:40:22 +00:00
llc Remove access to the DataLayout in the TargetMachine 2015-07-24 16:04:22 +00:00
lli Fix lli with OrcLazyJIT: the default DataLayout was used. 2015-07-30 17:29:33 +00:00
llvm-ar For new archive member we only need to store the full path. 2015-07-15 22:46:53 +00:00
llvm-as Fix input validation issues in llvm-as/llvm-dis 2015-05-11 21:20:20 +00:00
llvm-as-fuzzer Build a lib/Fuzzer version for llvm-as. 2015-08-31 17:55:32 +00:00
llvm-bcanalyzer [WinEH] Add cleanupendpad instruction 2015-09-03 09:09:43 +00:00
llvm-c-test Fix build breakage caused by memory leaks in llvm-c-test 2015-01-28 18:32:31 +00:00
llvm-config [CMake] Fix PR14200, llvm-config output misses -fno-rtti 2015-08-14 16:20:31 +00:00
llvm-cov [Object] Search for architecures by name in MachOUniversalBinary::getObjectForArch() 2015-06-22 21:33:24 +00:00
llvm-cxxdump [llvm-cxxdump] Correctly process relocations when given multiple files 2015-08-13 18:31:43 +00:00
llvm-diff -Wdeprecated clean by making LogBuilder move constructible so it can be returned by value (in DifferenceEngine::logf) 2015-08-05 21:06:50 +00:00
llvm-dis Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
llvm-dwarfdump [dwarfdump] Add support for dumping mach-o universal objectfiles 2015-08-03 00:10:31 +00:00
llvm-extract uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
llvm-go Enable linking tools, shared libraries against libLLVM 2015-09-01 03:14:31 +00:00
llvm-jitlistener Fix the -DBUILD_SHARED_LIBS=ON build. 2015-07-07 17:48:00 +00:00
llvm-link New bitcode linker flags: 2015-09-01 17:55:55 +00:00
llvm-lto CodeGen: Introduce splitCodeGen and teach LTOCodeGenerator to use it. 2015-08-27 23:37:36 +00:00
llvm-mc Use named temporaries for directional labels. 2015-06-17 16:26:47 +00:00
llvm-mcmarkup Explicitly pass ownership of the MemoryBuffer to AddNewSourceBuffer using std::unique_ptr 2014-08-21 20:44:56 +00:00
llvm-nm Convert getSymbolSection to return an ErrorOr. 2015-08-07 23:27:14 +00:00
llvm-objdump [llvm-reaodbj] Simplify code. No functional change (intended). 2015-09-02 16:53:25 +00:00
llvm-pdbdump Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
llvm-profdata modules: Move ProfileKinds to an anonymous namespace 2015-06-16 00:43:04 +00:00
llvm-readobj [llvm-readobj] MachO: Dump segment command. 2015-09-02 16:24:24 +00:00
llvm-rtdyld Convert getSymbolSection to return an ErrorOr. 2015-08-07 23:27:14 +00:00
llvm-shlib Enable linking tools, shared libraries against libLLVM 2015-09-01 03:14:31 +00:00
llvm-size Fix "the the" in comments. 2015-06-19 01:53:21 +00:00
llvm-split TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
llvm-stress [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
llvm-symbolizer [llvm-symbolizer] Remove underscores and other C mangling on Windows 2015-08-10 21:47:11 +00:00
lto LTO: Simplify merged module ownership. 2015-08-24 22:22:53 +00:00
macho-dump [Object, MachO] Introduce MachOObjectFile::load_commands() range iterator. 2015-06-03 22:19:36 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml Pass a symbol table to getRelocationSymbol instead of returning one. 2015-09-02 15:07:39 +00:00
opt [PM/AA] Remove the last relics of the separate IPA library from LLVM, 2015-08-18 17:51:53 +00:00
verify-uselistorder Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
yaml2obj [yaml2obj] Support numeric indexes to create invalid files. Will be used by lld test. 2015-08-27 23:11:20 +00:00
CMakeLists.txt [CMake] Projects supported via LLVM_EXTERNAL_*_SOURCE_DIR need to be explicitly specified. 2015-07-21 15:53:09 +00:00
LLVMBuild.txt TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00
Makefile TransformUtils: Introduce module splitter. 2015-08-21 02:48:20 +00:00