summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/WinEHPrepare.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-05-01 22:50:14 +0000
committerReid Kleckner <reid@kleckner.net>2015-05-01 22:50:14 +0000
commit83d89fa5463fc8b7311bdb052a415c29da454e0b (patch)
tree0fc7a17d47f340cec32e943b97eca273fff1f9e7 /llvm/lib/CodeGen/WinEHPrepare.cpp
parent51476acd77afddd841e7d49e1ffb68621ca8f0b5 (diff)
downloadbcm5719-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.cpp11
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);
}
OpenPOWER on IntegriCloud