summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2011-11-02 22:52:45 +0000
committerLang Hames <lhames@gmail.com>2011-11-02 22:52:45 +0000
commit9929c423a17f58a35276192f2b47a6d8b85fed2c (patch)
tree8a2f6b90a858aaa5394aa310a7e9abc69a435501 /llvm/lib/Target/ARM/ARMISelLowering.h
parent324dbd3b83e66106104ddbc7725fd973a29ad59d (diff)
downloadbcm5719-llvm-9929c423a17f58a35276192f2b47a6d8b85fed2c.tar.gz
bcm5719-llvm-9929c423a17f58a35276192f2b47a6d8b85fed2c.zip
Try to lower memset/memcpy/memmove to vector instructions on ARM where the alignment permits.
llvm-svn: 143582
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.h')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.h b/llvm/lib/Target/ARM/ARMISelLowering.h
index 5da9b27fca6..43e43dd35bf 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.h
+++ b/llvm/lib/Target/ARM/ARMISelLowering.h
@@ -266,9 +266,14 @@ namespace llvm {
/// allowsUnalignedMemoryAccesses - Returns true if the target allows
/// unaligned memory accesses. of the specified type.
- /// FIXME: Add getOptimalMemOpType to implement memcpy with NEON?
virtual bool allowsUnalignedMemoryAccesses(EVT VT) const;
+ virtual EVT getOptimalMemOpType(uint64_t Size,
+ unsigned DstAlign, unsigned SrcAlign,
+ bool NonScalarIntSafe,
+ bool MemcpyStrSrc,
+ MachineFunction &MF) const;
+
/// isLegalAddressingMode - Return true if the addressing mode represented
/// by AM is legal for this target, for a load/store of the specified type.
virtual bool isLegalAddressingMode(const AddrMode &AM, Type *Ty)const;
OpenPOWER on IntegriCloud