1 //===-- AMDGPUNoteType.h - AMDGPU ELF PT_NOTE section info-------*- 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 /// \file
11 ///
12 /// Enums and constants for AMDGPU PT_NOTE sections.
13 ///
14 //
15 //===----------------------------------------------------------------------===//
16 //
17 #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUPTNOTE_H
18 #define LLVM_LIB_TARGET_AMDGPU_AMDGPUPTNOTE_H
19 
20 namespace AMDGPU {
21 
22 namespace ElfNote {
23 
24 const char SectionName[] = ".note";
25 
26 const char NoteName[] = "AMD";
27 
28 // TODO: Move this enum to include/llvm/Support so it can be used in tools?
29 enum NoteType{
30     NT_AMDGPU_HSA_RESERVED_0 = 0,
31     NT_AMDGPU_HSA_CODE_OBJECT_VERSION = 1,
32     NT_AMDGPU_HSA_HSAIL = 2,
33     NT_AMDGPU_HSA_ISA = 3,
34     NT_AMDGPU_HSA_PRODUCER = 4,
35     NT_AMDGPU_HSA_PRODUCER_OPTIONS = 5,
36     NT_AMDGPU_HSA_EXTENSION = 6,
37     NT_AMDGPU_HSA_RESERVED_7 = 7,
38     NT_AMDGPU_HSA_RESERVED_8 = 8,
39     NT_AMDGPU_HSA_RESERVED_9 = 9,
40     NT_AMDGPU_HSA_CODE_OBJECT_METADATA = 10,
41     NT_AMD_AMDGPU_ISA = 11,
42     NT_AMDGPU_PAL_METADATA = 12,
43     NT_AMDGPU_HSA_HLDEBUG_DEBUG = 101,
44     NT_AMDGPU_HSA_HLDEBUG_TARGET = 102
45 };
46 
47 enum NoteAmdGpuPalMetadataKey {
48   AMDGPU_PAL_METADATA_LS_NUM_USED_VGPRS = 0x10000015,
49   AMDGPU_PAL_METADATA_HS_NUM_USED_VGPRS = 0x10000016,
50   AMDGPU_PAL_METADATA_ES_NUM_USED_VGPRS = 0x10000017,
51   AMDGPU_PAL_METADATA_GS_NUM_USED_VGPRS = 0x10000018,
52   AMDGPU_PAL_METADATA_VS_NUM_USED_VGPRS = 0x10000019,
53   AMDGPU_PAL_METADATA_PS_NUM_USED_VGPRS = 0x1000001a,
54   AMDGPU_PAL_METADATA_CS_NUM_USED_VGPRS = 0x1000001b,
55 
56   AMDGPU_PAL_METADATA_LS_NUM_USED_SGPRS = 0x1000001c,
57   AMDGPU_PAL_METADATA_HS_NUM_USED_SGPRS = 0x1000001d,
58   AMDGPU_PAL_METADATA_ES_NUM_USED_SGPRS = 0x1000001e,
59   AMDGPU_PAL_METADATA_GS_NUM_USED_SGPRS = 0x1000001f,
60   AMDGPU_PAL_METADATA_VS_NUM_USED_SGPRS = 0x10000020,
61   AMDGPU_PAL_METADATA_PS_NUM_USED_SGPRS = 0x10000021,
62   AMDGPU_PAL_METADATA_CS_NUM_USED_SGPRS = 0x10000022,
63 
64   AMDGPU_PAL_METADATA_LS_SCRATCH_SIZE = 0x10000038,
65   AMDGPU_PAL_METADATA_HS_SCRATCH_SIZE = 0x10000039,
66   AMDGPU_PAL_METADATA_ES_SCRATCH_SIZE = 0x1000003a,
67   AMDGPU_PAL_METADATA_GS_SCRATCH_SIZE = 0x1000003b,
68   AMDGPU_PAL_METADATA_VS_SCRATCH_SIZE = 0x1000003c,
69   AMDGPU_PAL_METADATA_PS_SCRATCH_SIZE = 0x1000003d,
70   AMDGPU_PAL_METADATA_CS_SCRATCH_SIZE = 0x1000003e,
71 };
72 
73 }
74 }
75 
76 #endif // LLVM_LIB_TARGET_AMDGPU_AMDGPUNOTETYPE_H
77