LLVM: include/llvm/Support/AMDGPUMetadata.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#ifndef LLVM_SUPPORT_AMDGPUMETADATA_H
16#define LLVM_SUPPORT_AMDGPUMETADATA_H
17
20#include
21#include
22#include <system_error>
23#include
24
25namespace llvm {
27
28
29
30
32
33
35
37
38
40
42
43
45
47
48
50
52
53
54
55
56
58
59
67
68
78
79
99
100
101
117
118
119
120
122
123
124
125
127
138
139
141
143
145
147
148
150
151
153
154
158
159
164};
165
166}
167
168
169
170
172
174
175constexpr char Name[] = "Name";
176
178
179constexpr char Size[] = "Size";
180
181constexpr char Offset[] = "Offset";
182
183constexpr char Align[] = "Align";
184
186
188
190
192
194
196
198
200
202
203constexpr char IsPipe[] = "IsPipe";
204}
205
206
208
209 std::string mName = std::string();
210
212
214
216
218
220
222
224
226
228
230
232
234
236
237
239};
240
241}
242
243
244
245
247
249
251
253
255
257
259
261
263
265
267
269
271
273}
274
275
277
278
280
281
282
284
285
287
288
290
292
294
296
298
299
301
302
304
306
308
309
311
312
313
317
318
319
323};
324
325}
326
327
328
329
331
333
335
337
339
341
342
344 "WavefrontPrivateSegmentOffsetSGPR";
345}
346
347
349
351
352
354
355
357
358
359
361
362
363
365
366
368
369
370
374
375
376
380};
381
382}
383
385
386constexpr char Name[] = "Name";
387
389
391
393
394constexpr char Attrs[] = "Attrs";
395
396constexpr char Args[] = "Args";
397
399
401}
402
403
405
406 std::string mName = std::string();
407
409
411
413
415
416 std::vectorArg::Metadata mArgs = std::vectorArg::Metadata();
417
419
421
422
424};
425
426}
427
429
431
432constexpr char Printf[] = "Printf";
433
435}
436
437
439
440 std::vector<uint32_t> mVersion = std::vector<uint32_t>();
441
442 std::vectorstd::string mPrintf = std::vectorstd::string();
443
444 std::vectorKernel::Metadata mKernels = std::vectorKernel::Metadata();
445
446
448};
449
450
452
453
455
456
457
458
459namespace V3 {
460
462
464
465
467
469}
470
471}
472
473
474
475
477
478
480
481
483
484
486
487
526
527}
528}
529}
530
531#endif
StringRef - Represent a constant reference to a string, i.e.
Definition AMDGPUMetadata.h:173
constexpr char AddrSpaceQual[]
Key for Kernel::Arg::Metadata::mAddrSpaceQual.
Definition AMDGPUMetadata.h:191
constexpr char ValueType[]
Key for Kernel::Arg::Metadata::mValueType. (deprecated)
Definition AMDGPUMetadata.h:187
constexpr char IsVolatile[]
Key for Kernel::Arg::Metadata::mIsVolatile.
Definition AMDGPUMetadata.h:201
constexpr char PointeeAlign[]
Key for Kernel::Arg::Metadata::mPointeeAlign.
Definition AMDGPUMetadata.h:189
constexpr char Size[]
Key for Kernel::Arg::Metadata::mSize.
Definition AMDGPUMetadata.h:179
constexpr char Align[]
Key for Kernel::Arg::Metadata::mAlign.
Definition AMDGPUMetadata.h:183
constexpr char Offset[]
Key for Kernel::Arg::Metadata::mOffset.
Definition AMDGPUMetadata.h:181
constexpr char TypeName[]
Key for Kernel::Arg::Metadata::mTypeName.
Definition AMDGPUMetadata.h:177
constexpr char ValueKind[]
Key for Kernel::Arg::Metadata::mValueKind.
Definition AMDGPUMetadata.h:185
constexpr char IsConst[]
Key for Kernel::Arg::Metadata::mIsConst.
Definition AMDGPUMetadata.h:197
constexpr char IsRestrict[]
Key for Kernel::Arg::Metadata::mIsRestrict.
Definition AMDGPUMetadata.h:199
constexpr char ActualAccQual[]
Key for Kernel::Arg::Metadata::mActualAccQual.
Definition AMDGPUMetadata.h:195
constexpr char AccQual[]
Key for Kernel::Arg::Metadata::mAccQual.
Definition AMDGPUMetadata.h:193
constexpr char IsPipe[]
Key for Kernel::Arg::Metadata::mIsPipe.
Definition AMDGPUMetadata.h:203
constexpr char Name[]
Key for Kernel::Arg::Metadata::mName.
Definition AMDGPUMetadata.h:175
Definition AMDGPUMetadata.h:171
Definition AMDGPUMetadata.h:128
constexpr char ReqdWorkGroupSize[]
Key for Kernel::Attr::Metadata::mReqdWorkGroupSize.
Definition AMDGPUMetadata.h:130
constexpr char VecTypeHint[]
Key for Kernel::Attr::Metadata::mVecTypeHint.
Definition AMDGPUMetadata.h:134
constexpr char RuntimeHandle[]
Key for Kernel::Attr::Metadata::mRuntimeHandle.
Definition AMDGPUMetadata.h:136
constexpr char WorkGroupSizeHint[]
Key for Kernel::Attr::Metadata::mWorkGroupSizeHint.
Definition AMDGPUMetadata.h:132
Definition AMDGPUMetadata.h:126
Definition AMDGPUMetadata.h:248
constexpr char NumVGPRs[]
Key for Kernel::CodeProps::Metadata::mNumVGPRs.
Definition AMDGPUMetadata.h:262
constexpr char NumSpilledSGPRs[]
Key for Kernel::CodeProps::Metadata::mNumSpilledSGPRs.
Definition AMDGPUMetadata.h:270
constexpr char IsXNACKEnabled[]
Key for Kernel::CodeProps::Metadata::mIsXNACKEnabled.
Definition AMDGPUMetadata.h:268
constexpr char NumSpilledVGPRs[]
Key for Kernel::CodeProps::Metadata::mNumSpilledVGPRs.
Definition AMDGPUMetadata.h:272
constexpr char KernargSegmentAlign[]
Key for Kernel::CodeProps::Metadata::mKernargSegmentAlign.
Definition AMDGPUMetadata.h:256
constexpr char IsDynamicCallStack[]
Key for Kernel::CodeProps::Metadata::mIsDynamicCallStack.
Definition AMDGPUMetadata.h:266
constexpr char NumSGPRs[]
Key for Kernel::CodeProps::Metadata::mNumSGPRs.
Definition AMDGPUMetadata.h:260
constexpr char KernargSegmentSize[]
Key for Kernel::CodeProps::Metadata::mKernargSegmentSize.
Definition AMDGPUMetadata.h:250
constexpr char WavefrontSize[]
Key for Kernel::CodeProps::Metadata::mWavefrontSize.
Definition AMDGPUMetadata.h:258
constexpr char MaxFlatWorkGroupSize[]
Key for Kernel::CodeProps::Metadata::mMaxFlatWorkGroupSize.
Definition AMDGPUMetadata.h:264
constexpr char GroupSegmentFixedSize[]
Key for Kernel::CodeProps::Metadata::mGroupSegmentFixedSize.
Definition AMDGPUMetadata.h:252
constexpr char PrivateSegmentFixedSize[]
Key for Kernel::CodeProps::Metadata::mPrivateSegmentFixedSize.
Definition AMDGPUMetadata.h:254
Definition AMDGPUMetadata.h:246
Definition AMDGPUMetadata.h:332
constexpr char ReservedFirstVGPR[]
Key for Kernel::DebugProps::Metadata::mReservedFirstVGPR.
Definition AMDGPUMetadata.h:338
constexpr char ReservedNumVGPRs[]
Key for Kernel::DebugProps::Metadata::mReservedNumVGPRs.
Definition AMDGPUMetadata.h:336
constexpr char DebuggerABIVersion[]
Key for Kernel::DebugProps::Metadata::mDebuggerABIVersion.
Definition AMDGPUMetadata.h:334
constexpr char PrivateSegmentBufferSGPR[]
Key for Kernel::DebugProps::Metadata::mPrivateSegmentBufferSGPR.
Definition AMDGPUMetadata.h:340
constexpr char WavefrontPrivateSegmentOffsetSGPR[]
Key for Kernel::DebugProps::Metadata::mWavefrontPrivateSegmentOffsetSGPR.
Definition AMDGPUMetadata.h:343
Definition AMDGPUMetadata.h:330
Definition AMDGPUMetadata.h:384
constexpr char Args[]
Key for Kernel::Metadata::mArgs.
Definition AMDGPUMetadata.h:396
constexpr char CodeProps[]
Key for Kernel::Metadata::mCodeProps.
Definition AMDGPUMetadata.h:398
constexpr char Name[]
Key for Kernel::Metadata::mName.
Definition AMDGPUMetadata.h:386
constexpr char Language[]
Key for Kernel::Metadata::mLanguage.
Definition AMDGPUMetadata.h:390
constexpr char Attrs[]
Key for Kernel::Metadata::mAttrs.
Definition AMDGPUMetadata.h:394
constexpr char LanguageVersion[]
Key for Kernel::Metadata::mLanguageVersion.
Definition AMDGPUMetadata.h:392
constexpr char DebugProps[]
Key for Kernel::Metadata::mDebugProps.
Definition AMDGPUMetadata.h:400
constexpr char SymbolName[]
Key for Kernel::Metadata::mSymbolName.
Definition AMDGPUMetadata.h:388
Definition AMDGPUMetadata.h:121
Definition AMDGPUMetadata.h:428
constexpr char Version[]
Key for HSA::Metadata::mVersion.
Definition AMDGPUMetadata.h:430
constexpr char Printf[]
Key for HSA::Metadata::mPrintf.
Definition AMDGPUMetadata.h:432
constexpr char Kernels[]
Key for HSA::Metadata::mKernels.
Definition AMDGPUMetadata.h:434
constexpr char AssemblerDirectiveBegin[]
HSA metadata beginning assembler directive.
Definition AMDGPUMetadata.h:466
constexpr uint32_t VersionMinor
HSA metadata minor version.
Definition AMDGPUMetadata.h:463
constexpr uint32_t VersionMajor
HSA metadata major version.
Definition AMDGPUMetadata.h:461
constexpr char AssemblerDirectiveEnd[]
HSA metadata ending assembler directive.
Definition AMDGPUMetadata.h:468
ValueType
Value types.
Definition AMDGPUMetadata.h:102
@ F64
Definition AMDGPUMetadata.h:114
@ U64
Definition AMDGPUMetadata.h:113
@ F32
Definition AMDGPUMetadata.h:111
@ F16
Definition AMDGPUMetadata.h:108
@ I8
Definition AMDGPUMetadata.h:104
@ U8
Definition AMDGPUMetadata.h:105
@ Struct
Definition AMDGPUMetadata.h:103
@ I16
Definition AMDGPUMetadata.h:106
@ U32
Definition AMDGPUMetadata.h:110
@ I32
Definition AMDGPUMetadata.h:109
@ I64
Definition AMDGPUMetadata.h:112
@ U16
Definition AMDGPUMetadata.h:107
LLVM_ABI std::error_code fromString(StringRef String, Metadata &HSAMetadata)
Converts String to HSAMetadata.
constexpr char AssemblerDirectiveBegin[]
Old HSA metadata beginning assembler directive for V2.
Definition AMDGPUMetadata.h:57
constexpr uint32_t VersionMajorV5
HSA metadata major version for code object V5.
Definition AMDGPUMetadata.h:44
constexpr uint32_t VersionMinorV4
HSA metadata minor version for code object V4.
Definition AMDGPUMetadata.h:41
AddressSpaceQualifier
Address space qualifiers.
Definition AMDGPUMetadata.h:69
@ Private
Definition AMDGPUMetadata.h:70
@ Global
Definition AMDGPUMetadata.h:71
@ Local
Definition AMDGPUMetadata.h:73
@ Generic
Definition AMDGPUMetadata.h:74
@ Unknown
Definition AMDGPUMetadata.h:76
@ Constant
Definition AMDGPUMetadata.h:72
@ Region
Definition AMDGPUMetadata.h:75
ValueKind
Value kinds.
Definition AMDGPUMetadata.h:80
@ HiddenPrintfBuffer
Definition AMDGPUMetadata.h:92
@ GlobalBuffer
Definition AMDGPUMetadata.h:82
@ HiddenGlobalOffsetZ
Definition AMDGPUMetadata.h:90
@ Pipe
Definition AMDGPUMetadata.h:86
@ HiddenMultiGridSyncArg
Definition AMDGPUMetadata.h:95
@ Sampler
Definition AMDGPUMetadata.h:84
@ Queue
Definition AMDGPUMetadata.h:87
@ HiddenGlobalOffsetX
Definition AMDGPUMetadata.h:88
@ HiddenNone
Definition AMDGPUMetadata.h:91
@ HiddenDefaultQueue
Definition AMDGPUMetadata.h:93
@ Unknown
Definition AMDGPUMetadata.h:97
@ HiddenHostcallBuffer
Definition AMDGPUMetadata.h:96
@ Image
Definition AMDGPUMetadata.h:85
@ DynamicSharedPointer
Definition AMDGPUMetadata.h:83
@ ByValue
Definition AMDGPUMetadata.h:81
@ HiddenGlobalOffsetY
Definition AMDGPUMetadata.h:89
@ HiddenCompletionAction
Definition AMDGPUMetadata.h:94
LLVM_ABI std::error_code toString(Metadata HSAMetadata, std::string &String)
Converts HSAMetadata to String.
constexpr uint32_t VersionMajorV3
HSA metadata major version for code object V3.
Definition AMDGPUMetadata.h:34
constexpr uint32_t VersionMinorV5
HSA metadata minor version for code object V5.
Definition AMDGPUMetadata.h:46
constexpr uint32_t VersionMinorV3
HSA metadata minor version for code object V3.
Definition AMDGPUMetadata.h:36
constexpr uint32_t VersionMinorV6
HSA metadata minor version for code object V6.
Definition AMDGPUMetadata.h:51
constexpr uint32_t VersionMajorV6
HSA metadata major version for code object V6.
Definition AMDGPUMetadata.h:49
AccessQualifier
Access qualifiers.
Definition AMDGPUMetadata.h:60
@ ReadOnly
Definition AMDGPUMetadata.h:62
@ WriteOnly
Definition AMDGPUMetadata.h:63
@ ReadWrite
Definition AMDGPUMetadata.h:64
@ Default
Definition AMDGPUMetadata.h:61
@ Unknown
Definition AMDGPUMetadata.h:65
constexpr uint32_t VersionMajorV4
HSA metadata major version for code object V4.
Definition AMDGPUMetadata.h:39
Definition AMDGPUMetadata.h:476
constexpr char AssemblerDirective[]
PAL metadata (old linear format) assembler directive.
Definition AMDGPUMetadata.h:479
constexpr char AssemblerDirectiveBegin[]
PAL metadata (new MsgPack format) beginning assembler directive.
Definition AMDGPUMetadata.h:482
constexpr char AssemblerDirectiveEnd[]
PAL metadata (new MsgPack format) ending assembler directive.
Definition AMDGPUMetadata.h:485
Key
PAL metadata keys.
Definition AMDGPUMetadata.h:488
@ R_A1B6_SPI_PS_IN_CONTROL
Definition AMDGPUMetadata.h:499
@ HS_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:503
@ LS_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:502
@ R_A1B3_SPI_PS_INPUT_ENA
Definition AMDGPUMetadata.h:497
@ CS_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:516
@ R_2D4A_SPI_SHADER_PGM_RSRC1_LS
Definition AMDGPUMetadata.h:490
@ R_2C4A_SPI_SHADER_PGM_RSRC1_VS
Definition AMDGPUMetadata.h:494
@ ES_SCRATCH_SIZE
Definition AMDGPUMetadata.h:520
@ CS_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:508
@ R_2D0A_SPI_SHADER_PGM_RSRC1_HS
Definition AMDGPUMetadata.h:491
@ GS_SCRATCH_SIZE
Definition AMDGPUMetadata.h:521
@ R_2E12_COMPUTE_PGM_RSRC1
Definition AMDGPUMetadata.h:489
@ R_2E00_COMPUTE_DISPATCH_INITIATOR
Definition AMDGPUMetadata.h:496
@ VS_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:506
@ R_A2D5_VGT_SHADER_STAGES_EN
Definition AMDGPUMetadata.h:500
@ LS_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:510
@ R_A1B4_SPI_PS_INPUT_ADDR
Definition AMDGPUMetadata.h:498
@ HS_SCRATCH_SIZE
Definition AMDGPUMetadata.h:519
@ GS_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:505
@ PS_SCRATCH_SIZE
Definition AMDGPUMetadata.h:523
@ R_2C0A_SPI_SHADER_PGM_RSRC1_PS
Definition AMDGPUMetadata.h:495
@ ES_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:512
@ VS_SCRATCH_SIZE
Definition AMDGPUMetadata.h:522
@ VS_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:514
@ PS_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:515
@ PS_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:507
@ HS_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:511
@ R_2C8A_SPI_SHADER_PGM_RSRC1_GS
Definition AMDGPUMetadata.h:493
@ GS_NUM_USED_SGPRS
Definition AMDGPUMetadata.h:513
@ ES_NUM_USED_VGPRS
Definition AMDGPUMetadata.h:504
@ CS_SCRATCH_SIZE
Definition AMDGPUMetadata.h:524
@ R_2CCA_SPI_SHADER_PGM_RSRC1_ES
Definition AMDGPUMetadata.h:492
@ LS_SCRATCH_SIZE
Definition AMDGPUMetadata.h:518
This is an optimization pass for GlobalISel generic memory operations.