1//===-- NVPTXTargetInfo.cpp - NVPTX Target Implementation -----------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "TargetInfo/NVPTXTargetInfo.h"
10#include "llvm/Support/TargetRegistry.h"
11using namespace llvm;
12
13Target &llvm::getTheNVPTXTarget32() {
14  static Target TheNVPTXTarget32;
15  return TheNVPTXTarget32;
16}
17Target &llvm::getTheNVPTXTarget64() {
18  static Target TheNVPTXTarget64;
19  return TheNVPTXTarget64;
20}
21
22extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeNVPTXTargetInfo() {
23  RegisterTarget<Triple::nvptx> X(getTheNVPTXTarget32(), "nvptx",
24                                  "NVIDIA PTX 32-bit", "NVPTX");
25  RegisterTarget<Triple::nvptx64> Y(getTheNVPTXTarget64(), "nvptx64",
26                                    "NVIDIA PTX 64-bit", "NVPTX");
27}
28