diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-08 09:35:23 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-07-08 09:35:23 +0000 |
commit | d131ff8cf81731c5088b401d0af51c8c7b9b6137 (patch) | |
tree | f7f67dc6e60a27d02e23f953fef08629b99dff0a /llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h | |
parent | fed0ccfb9ce71c92af6bdcf1d7db04df7b8b1482 (diff) | |
download | bcm5719-llvm-d131ff8cf81731c5088b401d0af51c8c7b9b6137.tar.gz bcm5719-llvm-d131ff8cf81731c5088b401d0af51c8c7b9b6137.zip |
[SystemZ] Use MVC for memcpy
Use MVC for memcpy in cases where a single MVC is enough. Using MVC is
a win for longer copies too, but I'll leave that for later.
llvm-svn: 185802
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h')
-rw-r--r-- | llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h b/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h new file mode 100644 index 00000000000..39c149137c6 --- /dev/null +++ b/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h @@ -0,0 +1,40 @@ +//===-- SystemZSelectionDAGInfo.h - SystemZ SelectionDAG Info ---*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the SystemZ subclass for TargetSelectionDAGInfo. +// +//===----------------------------------------------------------------------===// + +#ifndef SYSTEMZSELECTIONDAGINFO_H +#define SYSTEMZSELECTIONDAGINFO_H + +#include "llvm/Target/TargetSelectionDAGInfo.h" + +namespace llvm { + +class SystemZTargetMachine; + +class SystemZSelectionDAGInfo : public TargetSelectionDAGInfo { +public: + explicit SystemZSelectionDAGInfo(const SystemZTargetMachine &TM); + ~SystemZSelectionDAGInfo(); + + virtual + SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, SDLoc DL, SDValue Chain, + SDValue Dst, SDValue Src, + SDValue Size, unsigned Align, + bool IsVolatile, bool AlwaysInline, + MachinePointerInfo DstPtrInfo, + MachinePointerInfo SrcPtrInfo) const + LLVM_OVERRIDE; +}; + +} + +#endif |