Revert "[WinEH] Add an EH registration and state insertion pass for 32-bit x86"
[oota-llvm.git] / lib / CodeGen / WinEHPrepare.cpp
index db91c02ee461dcf7adb670b8e738b74c8700461a..c1067c5d56000f8f7e26ead28ab9838b314ce2f6 100644 (file)
@@ -8,11 +8,9 @@
 //===----------------------------------------------------------------------===//
 //
 // This pass lowers LLVM IR exception handling into something closer to what the
 //===----------------------------------------------------------------------===//
 //
 // 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/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"
 #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();
   if (SEHExceptionCodeSlot) {
     if (SEHExceptionCodeSlot->hasNUses(0))
       SEHExceptionCodeSlot->eraseFromParent();
-    else if (isAllocaPromotable(SEHExceptionCodeSlot))
+    else
       PromoteMemToReg(SEHExceptionCodeSlot, *DT);
   }
 
       PromoteMemToReg(SEHExceptionCodeSlot, *DT);
   }