Make XCoreSelectionDAGInfo take a DataLayout since it only needs
[oota-llvm.git] / lib / Target / XCore / XCoreSelectionDAGInfo.h
1 //===-- XCoreSelectionDAGInfo.h - XCore SelectionDAG Info -------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines the XCore subclass for TargetSelectionDAGInfo.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef XCORESELECTIONDAGINFO_H
15 #define XCORESELECTIONDAGINFO_H
16
17 #include "llvm/Target/TargetSelectionDAGInfo.h"
18
19 namespace llvm {
20
21 class XCoreTargetMachine;
22
23 class XCoreSelectionDAGInfo : public TargetSelectionDAGInfo {
24 public:
25   explicit XCoreSelectionDAGInfo(const DataLayout &DL);
26   ~XCoreSelectionDAGInfo();
27
28   SDValue
29   EmitTargetCodeForMemcpy(SelectionDAG &DAG, SDLoc dl,
30                           SDValue Chain,
31                           SDValue Op1, SDValue Op2,
32                           SDValue Op3, unsigned Align, bool isVolatile,
33                           bool AlwaysInline,
34                           MachinePointerInfo DstPtrInfo,
35                           MachinePointerInfo SrcPtrInfo) const override;
36 };
37
38 }
39
40 #endif