blob: f310f0a44461f553e3ddd7d8c29b0c5c0db01d18 [file] [log] [blame]
Dan Gohman10e730a2015-06-29 23:51:55 +00001//===-- WebAssemblyTargetInfo.cpp - WebAssembly Target Implementation -----===//
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
11/// \brief This file registers the WebAssembly target.
12///
13//===----------------------------------------------------------------------===//
14
15#include "MCTargetDesc/WebAssemblyMCTargetDesc.h"
16#include "llvm/ADT/Triple.h"
17#include "llvm/Support/TargetRegistry.h"
18using namespace llvm;
19
20#define DEBUG_TYPE "wasm-target-info"
21
Daniel Jasper0dea2462016-10-10 06:49:55 +000022Target &llvm::getTheWebAssemblyTarget32() {
23 static Target TheWebAssemblyTarget32;
24 return TheWebAssemblyTarget32;
25}
26Target &llvm::getTheWebAssemblyTarget64() {
27 static Target TheWebAssemblyTarget64;
28 return TheWebAssemblyTarget64;
29}
Dan Gohman10e730a2015-06-29 23:51:55 +000030
31extern "C" void LLVMInitializeWebAssemblyTargetInfo() {
Mehdi Aminif42454b2016-10-09 23:00:34 +000032 RegisterTarget<Triple::wasm32> X(getTheWebAssemblyTarget32(), "wasm32",
Dan Gohman10e730a2015-06-29 23:51:55 +000033 "WebAssembly 32-bit");
Mehdi Aminif42454b2016-10-09 23:00:34 +000034 RegisterTarget<Triple::wasm64> Y(getTheWebAssemblyTarget64(), "wasm64",
Dan Gohman10e730a2015-06-29 23:51:55 +000035 "WebAssembly 64-bit");
36}