1// CodeGen/RuntimeLibcallSignatures.h - R.T. Lib. Call Signatures -*- 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/// \file
10/// This file provides signature information for runtime libcalls.
11///
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
15#define LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
16
17#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
18#include "llvm/ADT/SmallVector.h"
19#include "llvm/CodeGen/RuntimeLibcalls.h"
20
21namespace llvm {
22
23class WebAssemblySubtarget;
24
25extern void getLibcallSignature(const WebAssemblySubtarget &Subtarget,
26                                RTLIB::Libcall LC,
27                                SmallVectorImpl<wasm::ValType> &Rets,
28                                SmallVectorImpl<wasm::ValType> &Params);
29
30extern void getLibcallSignature(const WebAssemblySubtarget &Subtarget,
31                                const char *Name,
32                                SmallVectorImpl<wasm::ValType> &Rets,
33                                SmallVectorImpl<wasm::ValType> &Params);
34
35} // end namespace llvm
36
37#endif
38