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/RuntimeLibcallUtil.h"
20
21namespace llvm {
22
23class WebAssemblySubtarget;
24
25namespace WebAssembly {
26
27void getLibcallSignature(const WebAssemblySubtarget &Subtarget,
28 RTLIB::Libcall LC,
29 SmallVectorImpl<wasm::ValType> &Rets,
30 SmallVectorImpl<wasm::ValType> &Params);
31
32void getLibcallSignature(const WebAssemblySubtarget &Subtarget, StringRef Name,
33 SmallVectorImpl<wasm::ValType> &Rets,
34 SmallVectorImpl<wasm::ValType> &Params);
35
36} // end namespace WebAssembly
37} // end namespace llvm
38
39#endif
40