diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2006-12-05 17:57:23 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2006-12-05 17:57:23 +0000 |
commit | 97815c6b9c789ba741106d300f94f0c10ba6d978 (patch) | |
tree | 4f044251c1c19be95245065a108dc304d0269c55 | |
parent | 875fd8fd10172655921aa2e6b6aceb131b04d530 (diff) | |
download | external_llvm-97815c6b9c789ba741106d300f94f0c10ba6d978.zip external_llvm-97815c6b9c789ba741106d300f94f0c10ba6d978.tar.gz external_llvm-97815c6b9c789ba741106d300f94f0c10ba6d978.tar.bz2 |
expand memmove and memcpy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32226 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMISelDAGToDAG.cpp | 2 | ||||
-rw-r--r-- | test/CodeGen/ARM/memfunc.ll | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMISelDAGToDAG.cpp b/lib/Target/ARM/ARMISelDAGToDAG.cpp index 7f5e35a..cf02b8b 100644 --- a/lib/Target/ARM/ARMISelDAGToDAG.cpp +++ b/lib/Target/ARM/ARMISelDAGToDAG.cpp @@ -75,7 +75,9 @@ ARMTargetLowering::ARMTargetLowering(TargetMachine &TM) setOperationAction(ISD::SELECT_CC, MVT::i32, Custom); + setOperationAction(ISD::MEMMOVE, MVT::Other, Expand); setOperationAction(ISD::MEMSET, MVT::Other, Expand); + setOperationAction(ISD::MEMCPY, MVT::Other, Expand); setOperationAction(ISD::BR_JT, MVT::Other, Expand); setOperationAction(ISD::BRIND, MVT::Other, Expand); diff --git a/test/CodeGen/ARM/memfunc.ll b/test/CodeGen/ARM/memfunc.ll new file mode 100644 index 0000000..1b41010 --- /dev/null +++ b/test/CodeGen/ARM/memfunc.ll @@ -0,0 +1,13 @@ +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm + +void %f() { +entry: + call void %llvm.memmove.i32( sbyte* null, sbyte* null, uint 64, uint 0 ) + call void %llvm.memcpy.i32( sbyte* null, sbyte* null, uint 64, uint 0 ) + call void %llvm.memset.i32( sbyte* null, ubyte 64, uint 0, uint 0 ) + unreachable +} + +declare void %llvm.memmove.i32(sbyte*, sbyte*, uint, uint) +declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint) +declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint) |