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.