1*09467b48Spatrick // CodeGen/RuntimeLibcallSignatures.h - R.T. Lib. Call Signatures -*- C++ -*--// 2*09467b48Spatrick // 3*09467b48Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*09467b48Spatrick // See https://llvm.org/LICENSE.txt for license information. 5*09467b48Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*09467b48Spatrick // 7*09467b48Spatrick //===----------------------------------------------------------------------===// 8*09467b48Spatrick /// 9*09467b48Spatrick /// \file 10*09467b48Spatrick /// This file provides signature information for runtime libcalls. 11*09467b48Spatrick /// 12*09467b48Spatrick //===----------------------------------------------------------------------===// 13*09467b48Spatrick 14*09467b48Spatrick #ifndef LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H 15*09467b48Spatrick #define LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H 16*09467b48Spatrick 17*09467b48Spatrick #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" 18*09467b48Spatrick #include "llvm/ADT/SmallVector.h" 19*09467b48Spatrick #include "llvm/CodeGen/RuntimeLibcalls.h" 20*09467b48Spatrick 21*09467b48Spatrick namespace llvm { 22*09467b48Spatrick 23*09467b48Spatrick class WebAssemblySubtarget; 24*09467b48Spatrick 25*09467b48Spatrick extern void getLibcallSignature(const WebAssemblySubtarget &Subtarget, 26*09467b48Spatrick RTLIB::Libcall LC, 27*09467b48Spatrick SmallVectorImpl<wasm::ValType> &Rets, 28*09467b48Spatrick SmallVectorImpl<wasm::ValType> &Params); 29*09467b48Spatrick 30*09467b48Spatrick extern void getLibcallSignature(const WebAssemblySubtarget &Subtarget, 31*09467b48Spatrick const char *Name, 32*09467b48Spatrick SmallVectorImpl<wasm::ValType> &Rets, 33*09467b48Spatrick SmallVectorImpl<wasm::ValType> &Params); 34*09467b48Spatrick 35*09467b48Spatrick } // end namespace llvm 36*09467b48Spatrick 37*09467b48Spatrick #endif 38