LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
Target
NVPTX
MCTargetDesc
NVPTXBaseInfo.h
Go to the documentation of this file.
1
//===-- NVPTXBaseInfo.h - Top-level definitions for NVPTX -------*- C++ -*-===//
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
// This file contains small standalone helper functions and enum definitions for
11
// the NVPTX target useful for the compiler back-end and the MC libraries.
12
// As such, it deliberately does not include references to LLVM core
13
// code gen types, passes, etc..
14
//
15
//===----------------------------------------------------------------------===//
16
17
#ifndef LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H
18
#define LLVM_LIB_TARGET_NVPTX_MCTARGETDESC_NVPTXBASEINFO_H
19
20
namespace
llvm {
21
22
enum
AddressSpace
{
23
ADDRESS_SPACE_GENERIC
= 0,
24
ADDRESS_SPACE_GLOBAL
= 1,
25
ADDRESS_SPACE_SHARED
= 3,
26
ADDRESS_SPACE_CONST
= 4,
27
ADDRESS_SPACE_LOCAL
= 5,
28
29
// NVVM Internal
30
ADDRESS_SPACE_PARAM
= 101
31
};
32
33
enum
PropertyAnnotation
{
34
PROPERTY_MAXNTID_X
= 0,
35
PROPERTY_MAXNTID_Y
,
36
PROPERTY_MAXNTID_Z
,
37
PROPERTY_REQNTID_X
,
38
PROPERTY_REQNTID_Y
,
39
PROPERTY_REQNTID_Z
,
40
PROPERTY_MINNCTAPERSM
,
41
PROPERTY_ISTEXTURE
,
42
PROPERTY_ISSURFACE
,
43
PROPERTY_ISSAMPLER
,
44
PROPERTY_ISREADONLY_IMAGE_PARAM
,
45
PROPERTY_ISWRITEONLY_IMAGE_PARAM
,
46
PROPERTY_ISREADWRITE_IMAGE_PARAM
,
47
PROPERTY_ISKERNEL_FUNCTION
,
48
PROPERTY_ALIGN
,
49
PROPERTY_MANAGED
,
50
51
// last property
52
PROPERTY_LAST
53
};
54
55
const
unsigned
AnnotationNameLen
= 9;
// length of each annotation name
56
const
char
PropertyAnnotationNames
[
PROPERTY_LAST
+ 1][
AnnotationNameLen
+ 1] = {
57
"maxntidx"
,
// PROPERTY_MAXNTID_X
58
"maxntidy"
,
// PROPERTY_MAXNTID_Y
59
"maxntidz"
,
// PROPERTY_MAXNTID_Z
60
"reqntidx"
,
// PROPERTY_REQNTID_X
61
"reqntidy"
,
// PROPERTY_REQNTID_Y
62
"reqntidz"
,
// PROPERTY_REQNTID_Z
63
"minctasm"
,
// PROPERTY_MINNCTAPERSM
64
"texture"
,
// PROPERTY_ISTEXTURE
65
"surface"
,
// PROPERTY_ISSURFACE
66
"sampler"
,
// PROPERTY_ISSAMPLER
67
"rdoimage"
,
// PROPERTY_ISREADONLY_IMAGE_PARAM
68
"wroimage"
,
// PROPERTY_ISWRITEONLY_IMAGE_PARAM
69
"rdwrimage"
,
// PROPERTY_ISREADWRITE_IMAGE_PARAM
70
"kernel"
,
// PROPERTY_ISKERNEL_FUNCTION
71
"align"
,
// PROPERTY_ALIGN
72
"managed"
,
// PROPERTY_MANAGED
73
74
// last property
75
"proplast"
,
// PROPERTY_LAST
76
};
77
78
// name of named metadata used for global annotations
79
#if defined(__GNUC__)
80
// As this is declared to be static but some of the .cpp files that
81
// include NVVM.h do not use this array, gcc gives a warning when
82
// compiling those .cpp files, hence __attribute__((unused)).
83
__attribute__
((unused))
84
#endif
85
static
const
char
*
NamedMDForAnnotations
=
"nvvm.annotations"
;
86
87
namespace
NVPTXII {
88
enum
{
89
// These must be kept in sync with TSFlags in NVPTXInstrFormats.td
90
IsTexFlag
= 0x80,
91
IsSuldMask
= 0x300,
92
IsSuldShift
= 8,
93
IsSustFlag
= 0x400,
94
IsSurfTexQueryFlag
= 0x800,
95
IsTexModeUnifiedFlag
= 0x1000
96
};
97
}
98
}
99
100
#endif
llvm::PropertyAnnotationNames
const char PropertyAnnotationNames[PROPERTY_LAST+1][AnnotationNameLen+1]
Definition:
NVPTXBaseInfo.h:56
llvm::PROPERTY_MAXNTID_X
Definition:
NVPTXBaseInfo.h:34
llvm::PROPERTY_ISREADONLY_IMAGE_PARAM
Definition:
NVPTXBaseInfo.h:44
llvm::PROPERTY_MAXNTID_Y
Definition:
NVPTXBaseInfo.h:35
llvm::PROPERTY_MINNCTAPERSM
Definition:
NVPTXBaseInfo.h:40
llvm::ADDRESS_SPACE_LOCAL
Definition:
NVPTXBaseInfo.h:27
llvm::ADDRESS_SPACE_PARAM
Definition:
NVPTXBaseInfo.h:30
llvm::PropertyAnnotation
PropertyAnnotation
Definition:
NVPTXBaseInfo.h:33
llvm::PROPERTY_ISSURFACE
Definition:
NVPTXBaseInfo.h:42
llvm::NVPTXII::IsSuldMask
Definition:
NVPTXBaseInfo.h:91
llvm::ADDRESS_SPACE_GLOBAL
Definition:
NVPTXBaseInfo.h:24
llvm::PROPERTY_ALIGN
Definition:
NVPTXBaseInfo.h:48
llvm::NVPTXII::IsTexFlag
Definition:
NVPTXBaseInfo.h:90
llvm::NVPTXII::IsSustFlag
Definition:
NVPTXBaseInfo.h:93
llvm::ADDRESS_SPACE_CONST
Definition:
NVPTXBaseInfo.h:26
llvm::AnnotationNameLen
const unsigned AnnotationNameLen
Definition:
NVPTXBaseInfo.h:55
llvm::PROPERTY_REQNTID_Y
Definition:
NVPTXBaseInfo.h:38
llvm::PROPERTY_ISKERNEL_FUNCTION
Definition:
NVPTXBaseInfo.h:47
llvm::NVPTXII::IsSuldShift
Definition:
NVPTXBaseInfo.h:92
llvm::ADDRESS_SPACE_SHARED
Definition:
NVPTXBaseInfo.h:25
llvm::PROPERTY_ISREADWRITE_IMAGE_PARAM
Definition:
NVPTXBaseInfo.h:46
llvm::NVPTXII::IsTexModeUnifiedFlag
Definition:
NVPTXBaseInfo.h:95
llvm::PROPERTY_REQNTID_X
Definition:
NVPTXBaseInfo.h:37
llvm::PROPERTY_ISSAMPLER
Definition:
NVPTXBaseInfo.h:43
llvm::NVPTXII::IsSurfTexQueryFlag
Definition:
NVPTXBaseInfo.h:94
llvm::AddressSpace
AddressSpace
Definition:
NVPTXBaseInfo.h:22
llvm::NamedMDForAnnotations
static const char * NamedMDForAnnotations
Definition:
NVPTXBaseInfo.h:85
llvm::PROPERTY_REQNTID_Z
Definition:
NVPTXBaseInfo.h:39
llvm::PROPERTY_LAST
Definition:
NVPTXBaseInfo.h:52
llvm::ADDRESS_SPACE_GENERIC
Definition:
NVPTXBaseInfo.h:23
llvm::PROPERTY_MANAGED
Definition:
NVPTXBaseInfo.h:49
__attribute__
__attribute__((weak)) dfsan_label dfsan_create_label(const char *desc
llvm::PROPERTY_MAXNTID_Z
Definition:
NVPTXBaseInfo.h:36
llvm::PROPERTY_ISTEXTURE
Definition:
NVPTXBaseInfo.h:41
llvm::PROPERTY_ISWRITEONLY_IMAGE_PARAM
Definition:
NVPTXBaseInfo.h:45
Generated on Mon Aug 31 2015 11:04:56 for LLVM by
1.8.6