blob: 803d643844f89a3106d9f1e21ebd7bdffcca59b5 [file] [log] [blame]
Justin Holewinskiae556d32012-05-04 20:18:50 +00001//===-- NVPTXTargetInfo.cpp - NVPTX Target Implementation -----------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "NVPTX.h"
Chandler Carruth9fb823b2013-01-02 11:36:10 +000011#include "llvm/IR/Module.h"
Justin Holewinskiae556d32012-05-04 20:18:50 +000012#include "llvm/Support/TargetRegistry.h"
13using namespace llvm;
14
Mehdi Aminif42454b2016-10-09 23:00:34 +000015Target &llvm::getTheNVPTXTarget32() {
16 static Target TheNVPTXTarget32;
17 return TheNVPTXTarget32;
18}
19Target &llvm::getTheNVPTXTarget64() {
20 static Target TheNVPTXTarget64;
21 return TheNVPTXTarget64;
22}
Justin Holewinskiae556d32012-05-04 20:18:50 +000023
24extern "C" void LLVMInitializeNVPTXTargetInfo() {
Mehdi Aminif42454b2016-10-09 23:00:34 +000025 RegisterTarget<Triple::nvptx> X(getTheNVPTXTarget32(), "nvptx",
Daniel Sanders725584e2017-11-15 23:55:44 +000026 "NVIDIA PTX 32-bit", "NVPTX");
Mehdi Aminif42454b2016-10-09 23:00:34 +000027 RegisterTarget<Triple::nvptx64> Y(getTheNVPTXTarget64(), "nvptx64",
Daniel Sanders725584e2017-11-15 23:55:44 +000028 "NVIDIA PTX 64-bit", "NVPTX");
Justin Holewinskiae556d32012-05-04 20:18:50 +000029}