blob: 7fa70bea96dec6d5cbc03c8e45237c898b2f00d2 [file] [log] [blame]
Dan Gohman38b42b42017-02-22 18:34:16 +00001// CodeGen/RuntimeLibcallSignatures.h - R.T. Lib. Call Signatures -*- C++ -*--//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9///
10/// \file
Adrian Prantl5f8f34e42018-05-01 15:54:18 +000011/// This file provides signature information for runtime libcalls.
Dan Gohman38b42b42017-02-22 18:34:16 +000012///
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
16#define LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
17
Dan Gohmand37dc2f2017-02-27 22:41:39 +000018#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
Dan Gohman38b42b42017-02-22 18:34:16 +000019#include "llvm/ADT/SmallVector.h"
20#include "llvm/CodeGen/RuntimeLibcalls.h"
Dan Gohman38b42b42017-02-22 18:34:16 +000021
22namespace llvm {
23
24class WebAssemblySubtarget;
25
Derek Schuff70ce1af2018-09-27 22:20:33 +000026extern void GetLibcallSignature(const WebAssemblySubtarget &Subtarget,
27 RTLIB::Libcall LC,
28 SmallVectorImpl<wasm::ValType> &Rets,
29 SmallVectorImpl<wasm::ValType> &Params);
Dan Gohman38b42b42017-02-22 18:34:16 +000030
Derek Schuff70ce1af2018-09-27 22:20:33 +000031extern void GetLibcallSignature(const WebAssemblySubtarget &Subtarget,
32 const char *Name,
33 SmallVectorImpl<wasm::ValType> &Rets,
34 SmallVectorImpl<wasm::ValType> &Params);
Dan Gohman38b42b42017-02-22 18:34:16 +000035
36} // end namespace llvm
37
38#endif