Add a comment.
authorDan Gohman <gohman@apple.com>
Mon, 5 Apr 2010 20:24:08 +0000 (20:24 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 5 Apr 2010 20:24:08 +0000 (20:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100459 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index 9b1e963f99dd4c56c40e22123cf7332bbd266219..4570c4d8cf1b91b9c40fc916e90e058ade68059d 100644 (file)
@@ -3518,6 +3518,12 @@ SDValue SelectionDAG::getMemcpy(SDValue Chain, DebugLoc dl, SDValue Dst,
                                    true, DstSV, DstSVOff, SrcSV, SrcSVOff);
   }
 
+  // FIXME: If the memcpy is volatile (isVol), lowering it to a plain libc
+  // memcpy is not guaranteed to be safe. libc memcpys aren't required to
+  // respect volatile, so they may do things like read or write memory
+  // beyond the given memory regions. But fixing this isn't easy, and most
+  // people don't care.
+
   // Emit a library call.
   TargetLowering::ArgListTy Args;
   TargetLowering::ArgListEntry Entry;