1{ 2 "copyright" : [ 3 "Copyright (c) 2018 The Khronos Group Inc.", 4 "", 5 "Permission is hereby granted, free of charge, to any person obtaining a copy", 6 "of this software and/or associated documentation files (the \"Materials\"),", 7 "to deal in the Materials without restriction, including without limitation", 8 "the rights to use, copy, modify, merge, publish, distribute, sublicense,", 9 "and/or sell copies of the Materials, and to permit persons to whom the", 10 "Materials are furnished to do so, subject to the following conditions:", 11 "", 12 "The above copyright notice and this permission notice shall be included in", 13 "all copies or substantial portions of the Materials.", 14 "", 15 "MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS", 16 "STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND", 17 "HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ ", 18 "", 19 "THE MATERIALS ARE PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS", 20 "OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,", 21 "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL", 22 "THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER", 23 "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING", 24 "FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS", 25 "IN THE MATERIALS." 26 ], 27 "version" : 200, 28 "revision" : 2, 29 "instructions" : [ 30 { 31 "opname" : "DebugInfoNone", 32 "opcode" : 0 33 }, 34 { 35 "opname" : "DebugCompilationUnit", 36 "opcode" : 1, 37 "operands" : [ 38 { "kind" : "LiteralInteger", "name" : "'Version'" }, 39 { "kind" : "LiteralInteger", "name" : "'DWARF Version'" }, 40 { "kind" : "IdRef", "name" : "'Source'" }, 41 { "kind" : "SourceLanguage", "name" : "'Language'" } 42 ] 43 }, 44 { 45 "opname" : "DebugTypeBasic", 46 "opcode" : 2, 47 "operands" : [ 48 { "kind" : "IdRef", "name" : "'Name'" }, 49 { "kind" : "IdRef", "name" : "'Size'" }, 50 { "kind" : "DebugBaseTypeAttributeEncoding", "name" : "'Encoding'" } 51 ] 52 }, 53 { 54 "opname" : "DebugTypePointer", 55 "opcode" : 3, 56 "operands" : [ 57 { "kind" : "IdRef", "name" : "'Base Type'" }, 58 { "kind" : "StorageClass", "name" : "'Storage Class'" }, 59 { "kind" : "DebugInfoFlags", "name" : "'Flags'" } 60 ] 61 }, 62 { 63 "opname" : "DebugTypeQualifier", 64 "opcode" : 4, 65 "operands" : [ 66 { "kind" : "IdRef", "name" : "'Base Type'" }, 67 { "kind" : "DebugTypeQualifier", "name" : "'Type Qualifier'" } 68 ] 69 }, 70 { 71 "opname" : "DebugTypeArray", 72 "opcode" : 5, 73 "operands" : [ 74 { "kind" : "IdRef", "name" : "'Base Type'" }, 75 { "kind" : "IdRef", "name" : "'Component Counts'", "quantifier" : "*" } 76 ] 77 }, 78 { 79 "opname" : "DebugTypeVector", 80 "opcode" : 6, 81 "operands" : [ 82 { "kind" : "IdRef", "name" : "'Base Type'" }, 83 { "kind" : "LiteralInteger", "name" : "'Component Count'" } 84 ] 85 }, 86 { 87 "opname" : "DebugTypedef", 88 "opcode" : 7, 89 "operands" : [ 90 { "kind" : "IdRef", "name" : "'Name'" }, 91 { "kind" : "IdRef", "name" : "'Base Type'" }, 92 { "kind" : "IdRef", "name" : "'Source'" }, 93 { "kind" : "LiteralInteger", "name" : "'Line'" }, 94 { "kind" : "LiteralInteger", "name" : "'Column'" }, 95 { "kind" : "IdRef", "name" : "'Parent'" } 96 ] 97 }, 98 { 99 "opname" : "DebugTypeFunction", 100 "opcode" : 8, 101 "operands" : [ 102 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 103 { "kind" : "IdRef", "name" : "'Return Type'" }, 104 { "kind" : "IdRef", "name" : "'Parameter Types'", "quantifier" : "*" } 105 ] 106 }, 107 { 108 "opname" : "DebugTypeEnum", 109 "opcode" : 9, 110 "operands" : [ 111 { "kind" : "IdRef", "name" : "'Name'" }, 112 { "kind" : "IdRef", "name" : "'Underlying Type'" }, 113 { "kind" : "IdRef", "name" : "'Source'" }, 114 { "kind" : "LiteralInteger", "name" : "'Line'" }, 115 { "kind" : "LiteralInteger", "name" : "'Column'" }, 116 { "kind" : "IdRef", "name" : "'Parent'" }, 117 { "kind" : "IdRef", "name" : "'Size'" }, 118 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 119 { "kind" : "PairIdRefIdRef", "name" : "'Value, Name, Value, Name, ...'", "quantifier" : "*" } 120 ] 121 }, 122 { 123 "opname" : "DebugTypeComposite", 124 "opcode" : 10, 125 "operands" : [ 126 { "kind" : "IdRef", "name" : "'Name'" }, 127 { "kind" : "DebugCompositeType", "name" : "'Tag'" }, 128 { "kind" : "IdRef", "name" : "'Source'" }, 129 { "kind" : "LiteralInteger", "name" : "'Line'" }, 130 { "kind" : "LiteralInteger", "name" : "'Column'" }, 131 { "kind" : "IdRef", "name" : "'Parent'" }, 132 { "kind" : "IdRef", "name" : "'Linkage Name'" }, 133 { "kind" : "IdRef", "name" : "'Size'" }, 134 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 135 { "kind" : "IdRef", "name" : "'Members'", "quantifier" : "*" } 136 ] 137 }, 138 { 139 "opname" : "DebugTypeMember", 140 "opcode" : 11, 141 "operands" : [ 142 { "kind" : "IdRef", "name" : "'Name'" }, 143 { "kind" : "IdRef", "name" : "'Type'" }, 144 { "kind" : "IdRef", "name" : "'Source'" }, 145 { "kind" : "LiteralInteger", "name" : "'Line'" }, 146 { "kind" : "LiteralInteger", "name" : "'Column'" }, 147 { "kind" : "IdRef", "name" : "'Parent'" }, 148 { "kind" : "IdRef", "name" : "'Offset'" }, 149 { "kind" : "IdRef", "name" : "'Size'" }, 150 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 151 { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } 152 ] 153 }, 154 { 155 "opname" : "DebugTypeInheritance", 156 "opcode" : 12, 157 "operands" : [ 158 { "kind" : "IdRef", "name" : "'Child'" }, 159 { "kind" : "IdRef", "name" : "'Parent'" }, 160 { "kind" : "IdRef", "name" : "'Offset'" }, 161 { "kind" : "IdRef", "name" : "'Size'" }, 162 { "kind" : "DebugInfoFlags", "name" : "'Flags'" } 163 ] 164 }, 165 { 166 "opname" : "DebugTypePtrToMember", 167 "opcode" : 13, 168 "operands" : [ 169 { "kind" : "IdRef", "name" : "'Member Type'" }, 170 { "kind" : "IdRef", "name" : "'Parent'" } 171 ] 172 }, 173 { 174 "opname" : "DebugTypeTemplate", 175 "opcode" : 14, 176 "operands" : [ 177 { "kind" : "IdRef", "name" : "'Target'" }, 178 { "kind" : "IdRef", "name" : "'Parameters'", "quantifier" : "*" } 179 ] 180 }, 181 { 182 "opname" : "DebugTypeTemplateParameter", 183 "opcode" : 15, 184 "operands" : [ 185 { "kind" : "IdRef", "name" : "'Name'" }, 186 { "kind" : "IdRef", "name" : "'Actual Type'" }, 187 { "kind" : "IdRef", "name" : "'Value'" }, 188 { "kind" : "IdRef", "name" : "'Source'" }, 189 { "kind" : "LiteralInteger", "name" : "'Line'" }, 190 { "kind" : "LiteralInteger", "name" : "'Column'" } 191 ] 192 }, 193 { 194 "opname" : "DebugTypeTemplateTemplateParameter", 195 "opcode" : 16, 196 "operands" : [ 197 { "kind" : "IdRef", "name" : "'Name'" }, 198 { "kind" : "IdRef", "name" : "'Template Name'" }, 199 { "kind" : "IdRef", "name" : "'Source'" }, 200 { "kind" : "LiteralInteger", "name" : "'Line'" }, 201 { "kind" : "LiteralInteger", "name" : "'Column'" } 202 ] 203 }, 204 { 205 "opname" : "DebugTypeTemplateParameterPack", 206 "opcode" : 17, 207 "operands" : [ 208 { "kind" : "IdRef", "name" : "'Name'" }, 209 { "kind" : "IdRef", "name" : "'Source'" }, 210 { "kind" : "LiteralInteger", "name" : "'Line'" }, 211 { "kind" : "LiteralInteger", "name" : "'Column'" }, 212 { "kind" : "IdRef", "name" : "'Template Parameters'", "quantifier" : "*" } 213 ] 214 }, 215 { 216 "opname" : "DebugGlobalVariable", 217 "opcode" : 18, 218 "operands" : [ 219 { "kind" : "IdRef", "name" : "'Name'" }, 220 { "kind" : "IdRef", "name" : "'Type'" }, 221 { "kind" : "IdRef", "name" : "'Source'" }, 222 { "kind" : "LiteralInteger", "name" : "'Line'" }, 223 { "kind" : "LiteralInteger", "name" : "'Column'" }, 224 { "kind" : "IdRef", "name" : "'Parent'" }, 225 { "kind" : "IdRef", "name" : "'Linkage Name'" }, 226 { "kind" : "IdRef", "name" : "'Variable'" }, 227 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 228 { "kind" : "IdRef", "name" : "'Static Member Declaration'", "quantifier" : "?" } 229 ] 230 }, 231 { 232 "opname" : "DebugFunctionDeclaration", 233 "opcode" : 19, 234 "operands" : [ 235 { "kind" : "IdRef", "name" : "'Name'" }, 236 { "kind" : "IdRef", "name" : "'Type'" }, 237 { "kind" : "IdRef", "name" : "'Source'" }, 238 { "kind" : "LiteralInteger", "name" : "'Line'" }, 239 { "kind" : "LiteralInteger", "name" : "'Column'" }, 240 { "kind" : "IdRef", "name" : "'Parent'" }, 241 { "kind" : "IdRef", "name" : "'Linkage Name'" }, 242 { "kind" : "DebugInfoFlags", "name" : "'Flags'" } 243 ] 244 }, 245 { 246 "opname" : "DebugFunction", 247 "opcode" : 20, 248 "operands" : [ 249 { "kind" : "IdRef", "name" : "'Name'" }, 250 { "kind" : "IdRef", "name" : "'Type'" }, 251 { "kind" : "IdRef", "name" : "'Source'" }, 252 { "kind" : "LiteralInteger", "name" : "'Line'" }, 253 { "kind" : "LiteralInteger", "name" : "'Column'" }, 254 { "kind" : "IdRef", "name" : "'Parent'" }, 255 { "kind" : "IdRef", "name" : "'Linkage Name'" }, 256 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 257 { "kind" : "LiteralInteger", "name" : "'Scope Line'" }, 258 { "kind" : "IdRef", "name" : "'Function'" }, 259 { "kind" : "IdRef", "name" : "'Declaration'", "quantifier" : "?" } 260 ] 261 }, 262 { 263 "opname" : "DebugLexicalBlock", 264 "opcode" : 21, 265 "operands" : [ 266 { "kind" : "IdRef", "name" : "'Source'" }, 267 { "kind" : "LiteralInteger", "name" : "'Line'" }, 268 { "kind" : "LiteralInteger", "name" : "'Column'" }, 269 { "kind" : "IdRef", "name" : "'Parent'" }, 270 { "kind" : "IdRef", "name" : "'Name'", "quantifier" : "?" } 271 ] 272 }, 273 { 274 "opname" : "DebugLexicalBlockDiscriminator", 275 "opcode" : 22, 276 "operands" : [ 277 { "kind" : "IdRef", "name" : "'Source'" }, 278 { "kind" : "LiteralInteger", "name" : "'Discriminator'" }, 279 { "kind" : "IdRef", "name" : "'Parent'" } 280 ] 281 }, 282 { 283 "opname" : "DebugScope", 284 "opcode" : 23, 285 "operands" : [ 286 { "kind" : "IdRef", "name" : "'Scope'" }, 287 { "kind" : "IdRef", "name" : "'Inlined At'", "quantifier" : "?" } 288 ] 289 }, 290 { 291 "opname" : "DebugNoScope", 292 "opcode" : 24 293 }, 294 { 295 "opname" : "DebugInlinedAt", 296 "opcode" : 25, 297 "operands" : [ 298 { "kind" : "LiteralInteger", "name" : "'Line'" }, 299 { "kind" : "IdRef", "name" : "'Scope'" }, 300 { "kind" : "IdRef", "name" : "'Inlined'", "quantifier" : "?" } 301 ] 302 }, 303 { 304 "opname" : "DebugLocalVariable", 305 "opcode" : 26, 306 "operands" : [ 307 { "kind" : "IdRef", "name" : "'Name'" }, 308 { "kind" : "IdRef", "name" : "'Type'" }, 309 { "kind" : "IdRef", "name" : "'Source'" }, 310 { "kind" : "LiteralInteger", "name" : "'Line'" }, 311 { "kind" : "LiteralInteger", "name" : "'Column'" }, 312 { "kind" : "IdRef", "name" : "'Parent'" }, 313 { "kind" : "DebugInfoFlags", "name" : "'Flags'" }, 314 { "kind" : "LiteralInteger", "name" : "'Arg Number'", "quantifier" : "?" } 315 ] 316 }, 317 { 318 "opname" : "DebugInlinedVariable", 319 "opcode" : 27, 320 "operands" : [ 321 { "kind" : "IdRef", "name" : "'Variable'" }, 322 { "kind" : "IdRef", "name" : "'Inlined'" } 323 ] 324 }, 325 { 326 "opname" : "DebugDeclare", 327 "opcode" : 28, 328 "operands" : [ 329 { "kind" : "IdRef", "name" : "'Local Variable'" }, 330 { "kind" : "IdRef", "name" : "'Variable'" }, 331 { "kind" : "IdRef", "name" : "'Expression'" } 332 ] 333 }, 334 { 335 "opname" : "DebugValue", 336 "opcode" : 29, 337 "operands" : [ 338 { "kind" : "IdRef", "name" : "'Local Variable'" }, 339 { "kind" : "IdRef", "name" : "'Value'" }, 340 { "kind" : "IdRef", "name" : "'Expression'" }, 341 { "kind" : "IdRef", "name" : "'Indexes'", "quantifier" : "*" } 342 ] 343 }, 344 { 345 "opname" : "DebugOperation", 346 "opcode" : 30, 347 "operands" : [ 348 { "kind" : "DebugOperation", "name" : "'OpCode'" }, 349 { "kind" : "LiteralInteger", "name" : "'Operands ...'", "quantifier" : "*" } 350 ] 351 }, 352 { 353 "opname" : "DebugExpression", 354 "opcode" : 31, 355 "operands" : [ 356 { "kind" : "IdRef", "name" : "'Operands ...'", "quantifier" : "*" } 357 ] 358 }, 359 { 360 "opname" : "DebugMacroDef", 361 "opcode" : 32, 362 "operands" : [ 363 { "kind" : "IdRef", "name" : "'Source'" }, 364 { "kind" : "LiteralInteger", "name" : "'Line'" }, 365 { "kind" : "IdRef", "name" : "'Name'" }, 366 { "kind" : "IdRef", "name" : "'Value'", "quantifier" : "?" } 367 ] 368 }, 369 { 370 "opname" : "DebugMacroUndef", 371 "opcode" : 33, 372 "operands" : [ 373 { "kind" : "IdRef", "name" : "'Source'" }, 374 { "kind" : "LiteralInteger", "name" : "'Line'" }, 375 { "kind" : "IdRef", "name" : "'Macro'" } 376 ] 377 }, 378 { 379 "opname" : "DebugImportedEntity", 380 "opcode" : 34, 381 "operands" : [ 382 { "kind" : "IdRef", "name" : "'Name'" }, 383 { "kind" : "DebugImportedEntity", "name" : "'Tag'" }, 384 { "kind" : "IdRef", "name" : "'Source'" }, 385 { "kind" : "IdRef", "name" : "'Entity'" }, 386 { "kind" : "LiteralInteger", "name" : "'Line'" }, 387 { "kind" : "LiteralInteger", "name" : "'Column'" }, 388 { "kind" : "IdRef", "name" : "'Parent'" } 389 ] 390 }, 391 { 392 "opname" : "DebugSource", 393 "opcode" : 35, 394 "operands" : [ 395 { "kind" : "IdRef", "name" : "'File'" }, 396 { "kind" : "IdRef", "name" : "'Text'", "quantifier" : "?" } 397 ] 398 }, 399 { 400 "opname" : "DebugModuleINTEL", 401 "opcode" : 36, 402 "operands" : [ 403 { "kind" : "IdRef", "name" : "'Name'" }, 404 { "kind" : "IdRef", "name" : "'Source'" }, 405 { "kind" : "IdRef", "name" : "'Parent'" }, 406 { "kind" : "LiteralInteger", "name" : "'Line'" }, 407 { "kind" : "IdRef", "name" : "'ConfigurationMacros'" }, 408 { "kind" : "IdRef", "name" : "'IncludePath'" }, 409 { "kind" : "IdRef", "name" : "'APINotesFile'" }, 410 { "kind" : "LiteralInteger", "name" : "'IsDeclaration'" } 411 ], 412 "capability" : "DebugInfoModuleINTEL" 413 } 414 ], 415 "operand_kinds" : [ 416 { 417 "category" : "BitEnum", 418 "kind" : "DebugInfoFlags", 419 "enumerants" : [ 420 { 421 "enumerant" : "None", 422 "value" : "0x0000" 423 }, 424 { 425 "enumerant" : "FlagIsProtected", 426 "value" : "0x01" 427 }, 428 { 429 "enumerant" : "FlagIsPrivate", 430 "value" : "0x02" 431 }, 432 { 433 "enumerant" : "FlagIsPublic", 434 "value" : "0x03" 435 }, 436 { 437 "enumerant" : "FlagIsLocal", 438 "value" : "0x04" 439 }, 440 { 441 "enumerant" : "FlagIsDefinition", 442 "value" : "0x08" 443 }, 444 { 445 "enumerant" : "FlagFwdDecl", 446 "value" : "0x10" 447 }, 448 { 449 "enumerant" : "FlagArtificial", 450 "value" : "0x20" 451 }, 452 { 453 "enumerant" : "FlagExplicit", 454 "value" : "0x40" 455 }, 456 { 457 "enumerant" : "FlagPrototyped", 458 "value" : "0x80" 459 }, 460 { 461 "enumerant" : "FlagObjectPointer", 462 "value" : "0x100" 463 }, 464 { 465 "enumerant" : "FlagStaticMember", 466 "value" : "0x200" 467 }, 468 { 469 "enumerant" : "FlagIndirectVariable", 470 "value" : "0x400" 471 }, 472 { 473 "enumerant" : "FlagLValueReference", 474 "value" : "0x800" 475 }, 476 { 477 "enumerant" : "FlagRValueReference", 478 "value" : "0x1000" 479 }, 480 { 481 "enumerant" : "FlagIsOptimized", 482 "value" : "0x2000" 483 }, 484 { 485 "enumerant" : "FlagIsEnumClass", 486 "value" : "0x4000" 487 }, 488 { 489 "enumerant" : "FlagTypePassByValue", 490 "value" : "0x8000" 491 }, 492 { 493 "enumerant" : "FlagTypePassByReference", 494 "value" : "0x10000" 495 } 496 ] 497 }, 498 { 499 "category" : "ValueEnum", 500 "kind" : "DebugBaseTypeAttributeEncoding", 501 "enumerants" : [ 502 { 503 "enumerant" : "Unspecified", 504 "value" : "0" 505 }, 506 { 507 "enumerant" : "Address", 508 "value" : "1" 509 }, 510 { 511 "enumerant" : "Boolean", 512 "value" : "2" 513 }, 514 { 515 "enumerant" : "Float", 516 "value" : "3" 517 }, 518 { 519 "enumerant" : "Signed", 520 "value" : "4" 521 }, 522 { 523 "enumerant" : "SignedChar", 524 "value" : "5" 525 }, 526 { 527 "enumerant" : "Unsigned", 528 "value" : "6" 529 }, 530 { 531 "enumerant" : "UnsignedChar", 532 "value" : "7" 533 } 534 ] 535 }, 536 { 537 "category" : "ValueEnum", 538 "kind" : "DebugCompositeType", 539 "enumerants" : [ 540 { 541 "enumerant" : "Class", 542 "value" : "0" 543 }, 544 { 545 "enumerant" : "Structure", 546 "value" : "1" 547 }, 548 { 549 "enumerant" : "Union", 550 "value" : "2" 551 } 552 ] 553 }, 554 { 555 "category" : "ValueEnum", 556 "kind" : "DebugTypeQualifier", 557 "enumerants" : [ 558 { 559 "enumerant" : "ConstType", 560 "value" : "0" 561 }, 562 { 563 "enumerant" : "VolatileType", 564 "value" : "1" 565 }, 566 { 567 "enumerant" : "RestrictType", 568 "value" : "2" 569 }, 570 { 571 "enumerant" : "AtomicType", 572 "value" : "3" 573 } 574 ] 575 }, 576 { 577 "category" : "ValueEnum", 578 "kind" : "DebugOperation", 579 "enumerants" : [ 580 { 581 "enumerant" : "Deref", 582 "value" : "0" 583 }, 584 { 585 "enumerant" : "Plus", 586 "value" : "1" 587 }, 588 { 589 "enumerant" : "Minus", 590 "value" : "2" 591 }, 592 { 593 "enumerant" : "PlusUconst", 594 "value" : "3", 595 "parameters" : [ 596 { "kind" : "LiteralInteger" } 597 ] 598 }, 599 { 600 "enumerant" : "BitPiece", 601 "value" : "4", 602 "parameters" : [ 603 { "kind" : "LiteralInteger" }, 604 { "kind" : "LiteralInteger" } 605 ] 606 }, 607 { 608 "enumerant" : "Swap", 609 "value" : "5" 610 }, 611 { 612 "enumerant" : "Xderef", 613 "value" : "6" 614 }, 615 { 616 "enumerant" : "StackValue", 617 "value" : "7" 618 }, 619 { 620 "enumerant" : "Constu", 621 "value" : "8", 622 "parameters" : [ 623 { "kind" : "LiteralInteger" } 624 ] 625 }, 626 { 627 "enumerant" : "Fragment", 628 "value" : "9", 629 "parameters" : [ 630 { "kind" : "LiteralInteger" }, 631 { "kind" : "LiteralInteger" } 632 ] 633 } 634 ] 635 }, 636 { 637 "category" : "ValueEnum", 638 "kind" : "DebugImportedEntity", 639 "enumerants" : [ 640 { 641 "enumerant" : "ImportedModule", 642 "value" : "0" 643 }, 644 { 645 "enumerant" : "ImportedDeclaration", 646 "value" : "1" 647 } 648 ] 649 } 650 ] 651} 652