13dac3a9bSDimitry Andric //===-- WebAssemblyTargetInfo.cpp - WebAssembly Target Implementation -----===// 23dac3a9bSDimitry Andric // 33dac3a9bSDimitry Andric // The LLVM Compiler Infrastructure 43dac3a9bSDimitry Andric // 53dac3a9bSDimitry Andric // This file is distributed under the University of Illinois Open Source 63dac3a9bSDimitry Andric // License. See LICENSE.TXT for details. 73dac3a9bSDimitry Andric // 83dac3a9bSDimitry Andric //===----------------------------------------------------------------------===// 93dac3a9bSDimitry Andric /// 103dac3a9bSDimitry Andric /// \file 11*4ba319b5SDimitry Andric /// This file registers the WebAssembly target. 123dac3a9bSDimitry Andric /// 133dac3a9bSDimitry Andric //===----------------------------------------------------------------------===// 143dac3a9bSDimitry Andric 153dac3a9bSDimitry Andric #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" 163dac3a9bSDimitry Andric #include "llvm/ADT/Triple.h" 173dac3a9bSDimitry Andric #include "llvm/Support/TargetRegistry.h" 183dac3a9bSDimitry Andric using namespace llvm; 193dac3a9bSDimitry Andric 203dac3a9bSDimitry Andric #define DEBUG_TYPE "wasm-target-info" 213dac3a9bSDimitry Andric getTheWebAssemblyTarget32()22d88c1a5aSDimitry AndricTarget &llvm::getTheWebAssemblyTarget32() { 23d88c1a5aSDimitry Andric static Target TheWebAssemblyTarget32; 24d88c1a5aSDimitry Andric return TheWebAssemblyTarget32; 25d88c1a5aSDimitry Andric } getTheWebAssemblyTarget64()26d88c1a5aSDimitry AndricTarget &llvm::getTheWebAssemblyTarget64() { 27d88c1a5aSDimitry Andric static Target TheWebAssemblyTarget64; 28d88c1a5aSDimitry Andric return TheWebAssemblyTarget64; 29d88c1a5aSDimitry Andric } 303dac3a9bSDimitry Andric LLVMInitializeWebAssemblyTargetInfo()313dac3a9bSDimitry Andricextern "C" void LLVMInitializeWebAssemblyTargetInfo() { 32d88c1a5aSDimitry Andric RegisterTarget<Triple::wasm32> X(getTheWebAssemblyTarget32(), "wasm32", 332cab237bSDimitry Andric "WebAssembly 32-bit", "WebAssembly"); 34d88c1a5aSDimitry Andric RegisterTarget<Triple::wasm64> Y(getTheWebAssemblyTarget64(), "wasm64", 352cab237bSDimitry Andric "WebAssembly 64-bit", "WebAssembly"); 363dac3a9bSDimitry Andric } 37