WebAssemblySelectionDAGInfo.h revision 353358
190926Snectar//=- WebAssemblySelectionDAGInfo.h - WebAssembly SelectionDAG Info -*- C++ -*-// 255682Smarkm// 355682Smarkm// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 455682Smarkm// See https://llvm.org/LICENSE.txt for license information. 555682Smarkm// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 655682Smarkm// 755682Smarkm//===----------------------------------------------------------------------===// 855682Smarkm/// 955682Smarkm/// \file 1055682Smarkm/// This file defines the WebAssembly subclass for 1178527Sassar/// SelectionDAGTargetInfo. 1255682Smarkm/// 1355682Smarkm//===----------------------------------------------------------------------===// 1455682Smarkm 1555682Smarkm#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSELECTIONDAGINFO_H 1655682Smarkm#define LLVM_LIB_TARGET_WEBASSEMBLY_WEBASSEMBLYSELECTIONDAGINFO_H 1755682Smarkm 1855682Smarkm#include "llvm/CodeGen/SelectionDAGTargetInfo.h" 1955682Smarkm 2055682Smarkmnamespace llvm { 2172445Sassar 2255682Smarkmclass WebAssemblySelectionDAGInfo final : public SelectionDAGTargetInfo { 2355682Smarkmpublic: 2455682Smarkm ~WebAssemblySelectionDAGInfo() override; 2555682Smarkm SDValue EmitTargetCodeForMemcpy(SelectionDAG &DAG, const SDLoc &dl, 2655682Smarkm SDValue Chain, SDValue Op1, SDValue Op2, 2755682Smarkm SDValue Op3, unsigned Align, bool isVolatile, 2855682Smarkm bool AlwaysInline, 2955682Smarkm MachinePointerInfo DstPtrInfo, 3055682Smarkm MachinePointerInfo SrcPtrInfo) const override; 3172445Sassar SDValue EmitTargetCodeForMemmove(SelectionDAG &DAG, const SDLoc &dl, 3255682Smarkm SDValue Chain, SDValue Op1, SDValue Op2, 3355682Smarkm SDValue Op3, unsigned Align, bool isVolatile, 3455682Smarkm MachinePointerInfo DstPtrInfo, 3555682Smarkm MachinePointerInfo SrcPtrInfo) const override; 3655682Smarkm SDValue EmitTargetCodeForMemset(SelectionDAG &DAG, const SDLoc &DL, 3755682Smarkm SDValue Chain, SDValue Op1, SDValue Op2, 3855682Smarkm SDValue Op3, unsigned Align, bool IsVolatile, 3955682Smarkm MachinePointerInfo DstPtrInfo) const override; 4055682Smarkm}; 4172445Sassar 4255682Smarkm} // end namespace llvm 4355682Smarkm 4455682Smarkm#endif 4555682Smarkm