xref: /openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h (revision 09467b48e8bc8b4905716062da846024139afbf2)
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