summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorMon P Wang <wangmp@apple.com>2010-04-06 08:27:51 +0000
committerMon P Wang <wangmp@apple.com>2010-04-06 08:27:51 +0000
commitbf86224d5e03a796e8e43c3f5634ad45b70031e6 (patch)
tree1f1c6ebbd6a7bea3c293776c955d6e3dd7abe267 /llvm/lib/CodeGen
parentee3570f0ff2e6fc47eae9c417503709d9031a722 (diff)
downloadbcm5719-llvm-bf86224d5e03a796e8e43c3f5634ad45b70031e6.tar.gz
bcm5719-llvm-bf86224d5e03a796e8e43c3f5634ad45b70031e6.zip
Remove assert to treat memmove and memset like memcpy
llvm-svn: 100521
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 8c0554d186d..af81b293267 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -3571,8 +3571,10 @@ SDValue SelectionDAG::getMemmove(SDValue Chain, DebugLoc dl, SDValue Dst,
if (Result.getNode())
return Result;
+ // FIXME: If the memmove is volatile, lowering it to plain libc memmove may
+ // not be safe. See memcpy above for more details.
+
// Emit a library call.
- assert(!isVol && "library memmove does not support volatile");
TargetLowering::ArgListTy Args;
TargetLowering::ArgListEntry Entry;
Entry.Ty = TLI.getTargetData()->getIntPtrType(*getContext());
@@ -3620,8 +3622,7 @@ SDValue SelectionDAG::getMemset(SDValue Chain, DebugLoc dl, SDValue Dst,
if (Result.getNode())
return Result;
- // Emit a library call.
- assert(!isVol && "library memset does not support volatile");
+ // Emit a library call.
const Type *IntPtrTy = TLI.getTargetData()->getIntPtrType(*getContext());
TargetLowering::ArgListTy Args;
TargetLowering::ArgListEntry Entry;
OpenPOWER on IntegriCloud