blob: 8ba6108bdfad7c951eb0eb7fdd8494f518fbde05 [file] [log] [blame]
Jia Liub22310f2012-02-18 12:03:15 +00001//===-- HexagonSelectionDAGInfo.h - Hexagon SelectionDAG Info ---*- C++ -*-===//
Tony Linthicum1213a7a2011-12-12 21:14:40 +00002//
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 Hexagon subclass for TargetSelectionDAGInfo.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef HexagonSELECTIONDAGINFO_H
15#define HexagonSELECTIONDAGINFO_H
16
17#include "llvm/Target/TargetSelectionDAGInfo.h"
18
19namespace llvm {
20
21class HexagonTargetMachine;
22
23class HexagonSelectionDAGInfo : public TargetSelectionDAGInfo {
24public:
25 explicit HexagonSelectionDAGInfo(const HexagonTargetMachine &TM);
26 ~HexagonSelectionDAGInfo();
27
Andrew Trickef9de2a2013-05-25 02:42:55 +000028 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, SDLoc dl,
Tony Linthicum1213a7a2011-12-12 21:14:40 +000029 SDValue Chain,
30 SDValue Dst, SDValue Src,
31 SDValue Size, unsigned Align,
32 bool isVolatile, bool AlwaysInline,
33 MachinePointerInfo DstPtrInfo,
Craig Topper906c2cd2014-04-29 07:58:16 +000034 MachinePointerInfo SrcPtrInfo) const override;
Tony Linthicum1213a7a2011-12-12 21:14:40 +000035};
36
37}
38
39#endif