summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
diff options
context:
space:
mode:
authorDerek Schuff <dschuff@google.com>2017-03-14 20:23:22 +0000
committerDerek Schuff <dschuff@google.com>2017-03-14 20:23:22 +0000
commite2688c432fcffff53d7d356d7530a0b139c16286 (patch)
tree2b97e836032eaecdaf9f998154ef61ff141975cd /llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
parent265ca535ab1c208749c05fbbb2d18ddd0047dd65 (diff)
downloadbcm5719-llvm-e2688c432fcffff53d7d356d7530a0b139c16286.tar.gz
bcm5719-llvm-e2688c432fcffff53d7d356d7530a0b139c16286.zip
[WebAssembly] Use LEB encoding for value types
Previously we were using the encoded LEB hex values for the value types. This change uses the decoded negative value and the LEB encoder to write them out. Differential Revision: https://reviews.llvm.org/D30847 Patch by Sam Clegg llvm-svn: 297777
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp358
1 files changed, 177 insertions, 181 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
index 974aa52ec5d..c02ef4a1c39 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
@@ -971,10 +971,8 @@ RuntimeLibcallNames[RTLIB::UNKNOWN_LIBCALL] = {
};
void llvm::GetSignature(const WebAssemblySubtarget &Subtarget,
- RTLIB::Libcall LC,
- SmallVectorImpl<unsigned> &Rets,
- SmallVectorImpl<unsigned> &Params)
-{
+ RTLIB::Libcall LC, SmallVectorImpl<wasm::ValType> &Rets,
+ SmallVectorImpl<wasm::ValType> &Params) {
assert(Rets.empty());
assert(Params.empty());
@@ -986,315 +984,313 @@ void llvm::GetSignature(const WebAssemblySubtarget &Subtarget,
case func:
break;
case f32_func_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
break;
case f32_func_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F64);
break;
case f32_func_i32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::I32);
break;
case f32_func_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::I64);
break;
case f32_func_i16:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::I32);
break;
case f64_func_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F32);
break;
case f64_func_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
break;
case f64_func_i32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::I32);
break;
case f64_func_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::I64);
break;
case i32_func_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::F32);
break;
case i32_func_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::F64);
break;
case i32_func_i32:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
break;
case i64_func_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::F32);
break;
case i64_func_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::F64);
break;
case i64_func_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case f32_func_f32_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
break;
case f32_func_f32_i32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::I32);
break;
case f32_func_i64_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case f64_func_f64_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
break;
case f64_func_f64_i32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::I32);
break;
case f64_func_i64_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i16_func_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::F32);
break;
case i8_func_i8_i8:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
break;
case func_f32_iPTR_iPTR:
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
break;
case func_f64_iPTR_iPTR:
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
break;
case i16_func_i16_i16:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
break;
case i32_func_f32_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
break;
case i32_func_f64_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
break;
case i32_func_i32_i32:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
break;
case i64_func_i64_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i64_i64_func_f32:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Params.push_back(wasm::ValType::F32);
break;
case i64_i64_func_f64:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Params.push_back(wasm::ValType::F64);
break;
case i16_i16_func_i16_i16:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::I32);
+ Rets.push_back(wasm::ValType::I32);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Params.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
break;
case i32_i32_func_i32_i32:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
+ Rets.push_back(wasm::ValType::I32);
+ Rets.push_back(wasm::ValType::I32);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Params.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I32);
break;
case i64_i64_func_i64_i64:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i64_i64_func_i64_i64_i64_i64:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i64_i64_i64_i64_func_i64_i64_i64_i64:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i64_i64_func_i64_i64_i32:
#if 0 // TODO: Enable this when wasm gets multiple-return-value support.
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
- Rets.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
+ Rets.push_back(wasm::ValType::I64);
#else
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
#endif
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I32);
break;
case iPTR_func_iPTR_i32_iPTR:
- Rets.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(iPTR));
+ Rets.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType(iPTR));
break;
case iPTR_func_iPTR_iPTR_iPTR:
- Rets.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
+ Rets.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
break;
case f32_func_f32_f32_f32:
- Rets.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Rets.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
+ Params.push_back(wasm::ValType::F32);
break;
case f64_func_f64_f64_f64:
- Rets.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Rets.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
+ Params.push_back(wasm::ValType::F64);
break;
case func_i64_i64_iPTR_iPTR:
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(iPTR));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType(iPTR));
break;
case func_iPTR_f32:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::F32));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::F32);
break;
case func_iPTR_f64:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::F64));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::F64);
break;
case func_iPTR_i32:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::I32));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::I32);
break;
case func_iPTR_i64:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::I64);
break;
case func_iPTR_i64_i64:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case func_iPTR_i64_i64_i64_i64:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case func_iPTR_i64_i64_i64_i64_i64_i64:
- Params.push_back(unsigned(iPTR));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Params.push_back(wasm::ValType(iPTR));
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i32_func_i64_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case i32_func_i64_i64_i64_i64:
- Rets.push_back(unsigned(WebAssembly::ExprType::I32));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
- Params.push_back(unsigned(WebAssembly::ExprType::I64));
+ Rets.push_back(wasm::ValType::I32);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
+ Params.push_back(wasm::ValType::I64);
break;
case unsupported:
llvm_unreachable("unsupported runtime library signature");
}
}
-void llvm::GetSignature(const WebAssemblySubtarget &Subtarget,
- const char *Name,
- SmallVectorImpl<unsigned> &Rets,
- SmallVectorImpl<unsigned> &Params)
-{
+void llvm::GetSignature(const WebAssemblySubtarget &Subtarget, const char *Name,
+ SmallVectorImpl<wasm::ValType> &Rets,
+ SmallVectorImpl<wasm::ValType> &Params) {
assert(strcmp(RuntimeLibcallNames[RTLIB::DEOPTIMIZE], "__llvm_deoptimize") ==
0);
OpenPOWER on IntegriCloud