Line data Source code
1 : //===-- 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 : /// 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"
18 : using namespace llvm;
19 :
20 : #define DEBUG_TYPE "wasm-target-info"
21 :
22 472921 : Target &llvm::getTheWebAssemblyTarget32() {
23 472921 : static Target TheWebAssemblyTarget32;
24 472921 : return TheWebAssemblyTarget32;
25 : }
26 472921 : Target &llvm::getTheWebAssemblyTarget64() {
27 472921 : static Target TheWebAssemblyTarget64;
28 472921 : return TheWebAssemblyTarget64;
29 : }
30 :
31 127879 : extern "C" void LLVMInitializeWebAssemblyTargetInfo() {
32 : RegisterTarget<Triple::wasm32> X(getTheWebAssemblyTarget32(), "wasm32",
33 127879 : "WebAssembly 32-bit", "WebAssembly");
34 : RegisterTarget<Triple::wasm64> Y(getTheWebAssemblyTarget64(), "wasm64",
35 127879 : "WebAssembly 64-bit", "WebAssembly");
36 127879 : }
|