diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-05-01 22:50:14 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-05-01 22:50:14 +0000 |
commit | 83d89fa5463fc8b7311bdb052a415c29da454e0b (patch) | |
tree | 0fc7a17d47f340cec32e943b97eca273fff1f9e7 /llvm/lib/CodeGen/WinEHPrepare.cpp | |
parent | 51476acd77afddd841e7d49e1ffb68621ca8f0b5 (diff) | |
download | bcm5719-llvm-83d89fa5463fc8b7311bdb052a415c29da454e0b.tar.gz bcm5719-llvm-83d89fa5463fc8b7311bdb052a415c29da454e0b.zip |
Revert "[WinEH] Add an EH registration and state insertion pass for 32-bit x86"
This reverts commit r236359. Things are still broken despite testing. :(
llvm-svn: 236360
Diffstat (limited to 'llvm/lib/CodeGen/WinEHPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/WinEHPrepare.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/llvm/lib/CodeGen/WinEHPrepare.cpp b/llvm/lib/CodeGen/WinEHPrepare.cpp index db91c02ee46..c1067c5d560 100644 --- a/llvm/lib/CodeGen/WinEHPrepare.cpp +++ b/llvm/lib/CodeGen/WinEHPrepare.cpp @@ -8,11 +8,9 @@ //===----------------------------------------------------------------------===// // // This pass lowers LLVM IR exception handling into something closer to what the -// backend wants for functions using a personality function from a runtime -// provided by MSVC. Functions with other personality functions are left alone -// and may be prepared by other passes. In particular, all supported MSVC -// personality functions require cleanup code to be outlined, and the C++ -// personality requires catch handler code to be outlined. +// backend wants. It snifs the personality function to see which kind of +// preparation is necessary. If the personality function uses the Itanium LSDA, +// this pass delegates to the DWARF EH preparation pass. // //===----------------------------------------------------------------------===// @@ -33,6 +31,7 @@ #include "llvm/IR/Module.h" #include "llvm/IR/PatternMatch.h" #include "llvm/Pass.h" +#include "llvm/Support/CommandLine.h" #include "llvm/Support/Debug.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Transforms/Utils/BasicBlockUtils.h" @@ -923,7 +922,7 @@ bool WinEHPrepare::prepareExceptionHandlers( if (SEHExceptionCodeSlot) { if (SEHExceptionCodeSlot->hasNUses(0)) SEHExceptionCodeSlot->eraseFromParent(); - else if (isAllocaPromotable(SEHExceptionCodeSlot)) + else PromoteMemToReg(SEHExceptionCodeSlot, *DT); } |