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