Only add the EH state insertion pass on 32-bit Windows
authorReid Kleckner <reid@kleckner.net>
Fri, 29 May 2015 20:43:10 +0000 (20:43 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 29 May 2015 20:43:10 +0000 (20:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238612 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86TargetMachine.cpp

index 3e5f1d82202f82ac45db16288154f2bf5011af05..4116cef9b07dfbad9835082df3bd7feaf6a179fd 100644 (file)
@@ -221,9 +221,9 @@ bool X86PassConfig::addILPOpts() {
 }
 
 bool X86PassConfig::addPreISel() {
 }
 
 bool X86PassConfig::addPreISel() {
-  // Only add this pass for 32-bit x86.
+  // Only add this pass for 32-bit x86 Windows.
   Triple TT(TM->getTargetTriple());
   Triple TT(TM->getTargetTriple());
-  if (TT.getArch() == Triple::x86)
+  if (TT.isOSWindows() && TT.getArch() == Triple::x86)
     addPass(createX86WinEHStatePass());
   return true;
 }
     addPass(createX86WinEHStatePass());
   return true;
 }