Bail from FastISel when we encounter a volatile memset intrinsic. Patch by Ivan
authorNick Lewycky <nicholas@mxc.ca>
Tue, 2 Aug 2011 00:40:16 +0000 (00:40 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Tue, 2 Aug 2011 00:40:16 +0000 (00:40 +0000)
Krasin!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136663 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86FastISel.cpp

index 24f4437ec7dacbc3e1da3b877e5d04485f48db28..f5db6d28a245625ec8a4b5b9105f4fcb501da6dc 100644 (file)
@@ -1365,6 +1365,9 @@ bool X86FastISel::X86VisitIntrinsicCall(const IntrinsicInst &I) {
   case Intrinsic::memset: {
     const MemSetInst &MSI = cast<MemSetInst>(I);
 
+    if (MSI.isVolatile())
+      return false;
+
     unsigned SizeWidth = Subtarget->is64Bit() ? 64 : 32;
     if (!MSI.getLength()->getType()->isIntegerTy(SizeWidth))
       return false;