Line data Source code
1 : //===-- TargetInfo/AMDGPUTargetInfo.cpp - TargetInfo for AMDGPU -----------===//
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 : /// \file
11 : //
12 : //===----------------------------------------------------------------------===//
13 :
14 : #include "AMDGPUTargetMachine.h"
15 : #include "llvm/Support/TargetRegistry.h"
16 :
17 : using namespace llvm;
18 :
19 : /// The target which supports all AMD GPUs. This will eventually
20 : /// be deprecated and there will be a R600 target and a GCN target.
21 699116 : Target &llvm::getTheAMDGPUTarget() {
22 699116 : static Target TheAMDGPUTarget;
23 699116 : return TheAMDGPUTarget;
24 : }
25 : /// The target for GCN GPUs
26 799820 : Target &llvm::getTheGCNTarget() {
27 799820 : static Target TheGCNTarget;
28 799820 : return TheGCNTarget;
29 : }
30 :
31 : /// Extern function to initialize the targets for the AMDGPU backend
32 127876 : extern "C" void LLVMInitializeAMDGPUTargetInfo() {
33 : RegisterTarget<Triple::r600, false> R600(getTheAMDGPUTarget(), "r600",
34 127876 : "AMD GPUs HD2XXX-HD6XXX", "AMDGPU");
35 : RegisterTarget<Triple::amdgcn, false> GCN(getTheGCNTarget(), "amdgcn",
36 127876 : "AMD GCN GPUs", "AMDGPU");
37 127876 : }
|