110e730a2SDan Gohman //===-- WebAssemblyTargetInfo.cpp - WebAssembly Target Implementation -----===// 210e730a2SDan Gohman // 310e730a2SDan Gohman // The LLVM Compiler Infrastructure 410e730a2SDan Gohman // 510e730a2SDan Gohman // This file is distributed under the University of Illinois Open Source 610e730a2SDan Gohman // License. See LICENSE.TXT for details. 710e730a2SDan Gohman // 810e730a2SDan Gohman //===----------------------------------------------------------------------===// 910e730a2SDan Gohman /// 1010e730a2SDan Gohman /// \file 1110e730a2SDan Gohman /// \brief This file registers the WebAssembly target. 1210e730a2SDan Gohman /// 1310e730a2SDan Gohman //===----------------------------------------------------------------------===// 1410e730a2SDan Gohman 1510e730a2SDan Gohman #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" 1610e730a2SDan Gohman #include "llvm/ADT/Triple.h" 1710e730a2SDan Gohman #include "llvm/Support/TargetRegistry.h" 1810e730a2SDan Gohman using namespace llvm; 1910e730a2SDan Gohman 2010e730a2SDan Gohman #define DEBUG_TYPE "wasm-target-info" 2110e730a2SDan Gohman 220dea246bSDaniel Jasper Target &llvm::getTheWebAssemblyTarget32() { 230dea246bSDaniel Jasper static Target TheWebAssemblyTarget32; 240dea246bSDaniel Jasper return TheWebAssemblyTarget32; 250dea246bSDaniel Jasper } 260dea246bSDaniel Jasper Target &llvm::getTheWebAssemblyTarget64() { 270dea246bSDaniel Jasper static Target TheWebAssemblyTarget64; 280dea246bSDaniel Jasper return TheWebAssemblyTarget64; 290dea246bSDaniel Jasper } 3010e730a2SDan Gohman 3110e730a2SDan Gohman extern "C" void LLVMInitializeWebAssemblyTargetInfo() { 32f42454b9SMehdi Amini RegisterTarget<Triple::wasm32> X(getTheWebAssemblyTarget32(), "wasm32", 33*8d8a8bb7SReid Kleckner "WebAssembly 32-bit", "WebAssembly"); 34f42454b9SMehdi Amini RegisterTarget<Triple::wasm64> Y(getTheWebAssemblyTarget64(), "wasm64", 35*8d8a8bb7SReid Kleckner "WebAssembly 64-bit", "WebAssembly"); 3610e730a2SDan Gohman } 37