Enable SSEDomainFix pass for AVX mode.
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 15 Sep 2011 18:27:32 +0000 (18:27 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Thu, 15 Sep 2011 18:27:32 +0000 (18:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139816 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86TargetMachine.cpp

index 17e573300d22ca31061e966ec3f2dbc11c76ee43..6a35ecc605a02699001cb46f2bff85043181f6b2 100644 (file)
@@ -130,16 +130,19 @@ bool X86TargetMachine::addPostRegAlloc(PassManagerBase &PM,
 
 bool X86TargetMachine::addPreEmitPass(PassManagerBase &PM,
                                       CodeGenOpt::Level OptLevel) {
-  if (OptLevel != CodeGenOpt::None && Subtarget.hasSSE2()) {
+  bool ShouldPrint = false;
+  if (OptLevel != CodeGenOpt::None &&
+      (Subtarget.hasSSE2() || Subtarget.hasAVX())) {
     PM.add(createSSEDomainFixPass());
-    return true;
+    ShouldPrint = true;
   }
 
   if (Subtarget.hasAVX() && UseVZeroUpper) {
     PM.add(createX86IssueVZeroUpperPass());
-    return true;
+    ShouldPrint = true;
   }
-  return false;
+
+  return ShouldPrint;
 }
 
 bool X86TargetMachine::addCodeEmitter(PassManagerBase &PM,