1239313Sdim//===-- HexagonSelectionDAGInfo.h - Hexagon SelectionDAG Info ---*- C++ -*-===// 2239313Sdim// 3251662Sdim// The LLVM Compiler Infrastructure 4249423Sdim// 5249423Sdim// This file is distributed under the University of Illinois Open Source 6239313Sdim// License. See LICENSE.TXT for details. 7249423Sdim// 8239313Sdim//===----------------------------------------------------------------------===// 9239313Sdim// 10239313Sdim// This file defines the Hexagon subclass for TargetSelectionDAGInfo. 11239313Sdim// 12239313Sdim//===----------------------------------------------------------------------===// 13239313Sdim 14239313Sdim#ifndef HexagonSELECTIONDAGINFO_H 15239313Sdim#define HexagonSELECTIONDAGINFO_H 16239313Sdim 17239313Sdim#include "llvm/Target/TargetSelectionDAGInfo.h" 18239313Sdim 19249423Sdimnamespace llvm { 20249423Sdim 21239313Sdimclass HexagonTargetMachine; 22239313Sdim 23249423Sdimclass HexagonSelectionDAGInfo : public TargetSelectionDAGInfo { 24249423Sdimpublic: 25239313Sdim explicit HexagonSelectionDAGInfo(const HexagonTargetMachine &TM); 26239313Sdim ~HexagonSelectionDAGInfo(); 27249423Sdim 28249423Sdim virtual 29239313Sdim SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, SDLoc dl, 30243830Sdim SDValue Chain, 31249423Sdim SDValue Dst, SDValue Src, 32249423Sdim SDValue Size, unsigned Align, 33249423Sdim bool isVolatile, bool AlwaysInline, 34249423Sdim MachinePointerInfo DstPtrInfo, 35249423Sdim MachinePointerInfo SrcPtrInfo) const; 36249423Sdim}; 37249423Sdim 38249423Sdim} 39249423Sdim 40249423Sdim#endif 41249423Sdim