WebAssemblyRuntimeLibcallSignatures.h revision 355940
1186121Skmacy// CodeGen/RuntimeLibcallSignatures.h - R.T. Lib. Call Signatures -*- C++ -*--//
2186121Skmacy//
3186121Skmacy// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4186121Skmacy// See https://llvm.org/LICENSE.txt for license information.
5186121Skmacy// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6186121Skmacy//
7186121Skmacy//===----------------------------------------------------------------------===//
8186121Skmacy///
9186121Skmacy/// \file
10186121Skmacy/// This file provides signature information for runtime libcalls.
11186121Skmacy///
12186121Skmacy//===----------------------------------------------------------------------===//
13186121Skmacy
14186121Skmacy#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
15186121Skmacy#define LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
16186121Skmacy
17186121Skmacy#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
18186121Skmacy#include "llvm/ADT/SmallVector.h"
19186121Skmacy#include "llvm/CodeGen/RuntimeLibcalls.h"
20186121Skmacy
21186121Skmacynamespace llvm {
22186121Skmacy
23186121Skmacyclass WebAssemblySubtarget;
24186121Skmacy
25186121Skmacyextern void getLibcallSignature(const WebAssemblySubtarget &Subtarget,
26186121Skmacy                                RTLIB::Libcall LC,
27186121Skmacy                                SmallVectorImpl<wasm::ValType> &Rets,
28186121Skmacy                                SmallVectorImpl<wasm::ValType> &Params);
29186121Skmacy
30186121Skmacyextern void getLibcallSignature(const WebAssemblySubtarget &Subtarget,
31186121Skmacy                                const char *Name,
32186121Skmacy                                SmallVectorImpl<wasm::ValType> &Rets,
33186121Skmacy                                SmallVectorImpl<wasm::ValType> &Params);
34186121Skmacy
35186121Skmacy} // end namespace llvm
36186121Skmacy
37186121Skmacy#endif
38186121Skmacy