mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
LLVM CodeGen emits references to external symbols that are never declared in LLVM IR level, so they have no declared signature. However, WebAssembly requires all functions be declared with signatures. This patch adds a table for providing signatures for known runtime libcalls that will be used in subsequent patches to emit declarations for such functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295857 91177308-0d34-0410-b5e6-96231b3b80d8
39 lines
1.3 KiB
C++
39 lines
1.3 KiB
C++
// CodeGen/RuntimeLibcallSignatures.h - R.T. Lib. Call Signatures -*- C++ -*--//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
/// \brief This file provides signature information for runtime libcalls.
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
|
|
#define LLVM_LIB_TARGET_WEBASSEMBLY_RUNTIME_LIBCALL_SIGNATURES_H
|
|
|
|
#include "llvm/ADT/SmallVector.h"
|
|
#include "llvm/CodeGen/RuntimeLibcalls.h"
|
|
#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
|
|
|
|
namespace llvm {
|
|
|
|
class WebAssemblySubtarget;
|
|
|
|
extern void GetSignature(const WebAssemblySubtarget &Subtarget,
|
|
RTLIB::Libcall LC,
|
|
SmallVectorImpl<unsigned> &Rets,
|
|
SmallVectorImpl<unsigned> &Params);
|
|
|
|
extern void GetSignature(const WebAssemblySubtarget &Subtarget,
|
|
const char *Name,
|
|
SmallVectorImpl<unsigned> &Rets,
|
|
SmallVectorImpl<unsigned> &Params);
|
|
|
|
} // end namespace llvm
|
|
|
|
#endif
|