104 Commits

Author SHA1 Message Date
Benjamin Kramer
85ffc54ec1 EHPrepare: Remove leftover initialization code for DomTrees.
While there modernize some loops. NFC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227436 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-29 13:26:50 +00:00
Chandler Carruth
da39e6dcf9 Remove an unused private field added r227405 to fix a Clang warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227415 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-29 02:44:53 +00:00
Reid Kleckner
866fe5889e Remove unused variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227408 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-29 00:55:44 +00:00
Reid Kleckner
f77571aeac 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227405 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-29 00:41:44 +00:00