1234285Sdim//===-- HexagonSelectionDAGInfo.h - Hexagon SelectionDAG Info ---*- C++ -*-===// 2234285Sdim// 3234285Sdim// The LLVM Compiler Infrastructure 4234285Sdim// 5234285Sdim// This file is distributed under the University of Illinois Open Source 6234285Sdim// License. See LICENSE.TXT for details. 7234285Sdim// 8234285Sdim//===----------------------------------------------------------------------===// 9234285Sdim// 10234285Sdim// This file defines the Hexagon subclass for TargetSelectionDAGInfo. 11234285Sdim// 12234285Sdim//===----------------------------------------------------------------------===// 13234285Sdim 14234285Sdim#ifndef HexagonSELECTIONDAGINFO_H 15234285Sdim#define HexagonSELECTIONDAGINFO_H 16234285Sdim 17234285Sdim#include "llvm/Target/TargetSelectionDAGInfo.h" 18234285Sdim 19234285Sdimnamespace llvm { 20234285Sdim 21234285Sdimclass HexagonTargetMachine; 22234285Sdim 23234285Sdimclass HexagonSelectionDAGInfo : public TargetSelectionDAGInfo { 24234285Sdimpublic: 25234285Sdim explicit HexagonSelectionDAGInfo(const HexagonTargetMachine &TM); 26234285Sdim ~HexagonSelectionDAGInfo(); 27234285Sdim 28234285Sdim virtual 29263509Sdim SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, SDLoc dl, 30234285Sdim SDValue Chain, 31234285Sdim SDValue Dst, SDValue Src, 32234285Sdim SDValue Size, unsigned Align, 33234285Sdim bool isVolatile, bool AlwaysInline, 34234285Sdim MachinePointerInfo DstPtrInfo, 35234285Sdim MachinePointerInfo SrcPtrInfo) const; 36234285Sdim}; 37234285Sdim 38234285Sdim} 39234285Sdim 40234285Sdim#endif 41