1//===-- XCoreSelectionDAGInfo.h - XCore SelectionDAG Info -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the XCore subclass for SelectionDAGTargetInfo.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_LIB_TARGET_XCORE_XCORESELECTIONDAGINFO_H
14#define LLVM_LIB_TARGET_XCORE_XCORESELECTIONDAGINFO_H
15
16#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
17
18#define GET_SDNODE_ENUM
19#include "XCoreGenSDNodeInfo.inc"
20
21namespace llvm {
22
23class XCoreSelectionDAGInfo : public SelectionDAGGenTargetInfo {
24public:
25 XCoreSelectionDAGInfo();
26
27 SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl,
28 SDValue Chain, SDValue Op1, SDValue Op2,
29 SDValue Op3, Align Alignment, bool isVolatile,
30 bool AlwaysInline,
31 MachinePointerInfo DstPtrInfo,
32 MachinePointerInfo SrcPtrInfo) const override;
33};
34
35} // namespace llvm
36
37#endif
38