1*81ad6265SDimitry Andric //===- DirectXTargetInfo.cpp - DirectX Target Implementation ----*- C++ -*-===// 2*81ad6265SDimitry Andric // 3*81ad6265SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*81ad6265SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*81ad6265SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*81ad6265SDimitry Andric // 7*81ad6265SDimitry Andric //===----------------------------------------------------------------------===// 8*81ad6265SDimitry Andric /// 9*81ad6265SDimitry Andric /// \file 10*81ad6265SDimitry Andric /// This file contains DirectX target initializer. 11*81ad6265SDimitry Andric /// 12*81ad6265SDimitry Andric //===----------------------------------------------------------------------===// 13*81ad6265SDimitry Andric 14*81ad6265SDimitry Andric #include "llvm/ADT/Triple.h" 15*81ad6265SDimitry Andric #include "llvm/MC/TargetRegistry.h" 16*81ad6265SDimitry Andric #include "llvm/Support/Compiler.h" 17*81ad6265SDimitry Andric 18*81ad6265SDimitry Andric namespace llvm { 19*81ad6265SDimitry Andric Target &getTheDirectXTarget() { 20*81ad6265SDimitry Andric static Target TheDirectXTarget; 21*81ad6265SDimitry Andric return TheDirectXTarget; 22*81ad6265SDimitry Andric } 23*81ad6265SDimitry Andric } // namespace llvm 24*81ad6265SDimitry Andric 25*81ad6265SDimitry Andric using namespace llvm; 26*81ad6265SDimitry Andric 27*81ad6265SDimitry Andric extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeDirectXTargetInfo() { 28*81ad6265SDimitry Andric RegisterTarget<Triple::dxil, /*HasJIT=*/false> X( 29*81ad6265SDimitry Andric getTheDirectXTarget(), "dxil", "DirectX Intermediate Language", "DXIL"); 30*81ad6265SDimitry Andric } 31