1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/tools/opt
Reid Kleckner a789af4162 Add a Windows EH preparation pass that zaps resumes
If the personality is not a recognized MSVC personality function, this
pass delegates to the dwarf EH preparation pass. This chaining supports
people on *-windows-itanium or *-windows-gnu targets.

Currently this recognizes some personalities used by MSVC and turns
resume instructions into traps to avoid link errors.  Even if cleanups
are not used in the source program, LLVM requires the frontend to emit a
code path that resumes unwinding after an exception.  Clang does this,
and we get unreachable resume instructions. PR20300 covers cleaning up
these unreachable calls to resume.

Reviewers: majnemer

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

llvm-svn: 227405
2015-01-29 00:41:44 +00:00
..
AnalysisWrappers.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
BreakpointPrinter.cpp Make StringSet::insert return pair<iterator, bool> like other self-associative containers 2014-11-19 02:56:00 +00:00
BreakpointPrinter.h
CMakeLists.txt static link polly into tools 2014-03-14 04:04:14 +00:00
GraphPrinters.cpp
LLVMBuild.txt
Makefile
NewPMDriver.cpp [PM] Port domtree to the new pass manager (at last). 2015-01-14 10:19:28 +00:00
NewPMDriver.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
opt.cpp Add a Windows EH preparation pass that zaps resumes 2015-01-29 00:41:44 +00:00
Passes.cpp [PM] Port LowerExpectIntrinsic to the new pass manager. 2015-01-24 11:13:02 +00:00
Passes.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
PassPrinters.cpp
PassPrinters.h
PassRegistry.def [PM] Port LowerExpectIntrinsic to the new pass manager. 2015-01-24 11:13:02 +00:00
PrintSCC.cpp SCC: Change clients to use const, NFC 2014-04-25 18:24:50 +00:00