LLVM  15.0.0git
SPIRVBaseInfo.cpp
Go to the documentation of this file.
1 //===-- SPIRVBaseInfo.cpp - Top level definitions for SPIRV ----*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains small standalone helper functions and enum definitions for
10 // the SPIRV target useful for the compiler back-end and the MC libraries.
11 // As such, it deliberately does not include references to LLVM core
12 // code gen types, passes, etc..
13 //
14 //===----------------------------------------------------------------------===//
15 
16 #include "SPIRVBaseInfo.h"
18 
19 namespace llvm {
20 namespace SPIRV {
21 
22 #define CASE(CLASS, ATTR) \
23  case CLASS::ATTR: \
24  return #ATTR;
25 #define CASE_SUF(CLASS, SF, ATTR) \
26  case CLASS::SF##_##ATTR: \
27  return #ATTR;
28 
29 // Implement getEnumName(Enum e) helper functions.
30 // TODO: re-implement all the functions using TableGen.
32  switch (e) {
38  CASE(Capability, Linkage)
39  CASE(Capability, Kernel)
42  CASE(Capability, Float16)
43  CASE(Capability, Float64)
44  CASE(Capability, Int64)
54  CASE(Capability, Int16)
68  CASE(Capability, Int8)
162  break;
163  }
164  llvm_unreachable("Unexpected operand");
165 }
166 
168  switch (e) {
169  CASE(SourceLanguage, Unknown)
174  CASE(SourceLanguage, HLSL)
175  break;
176  }
177  llvm_unreachable("Unexpected operand");
178 }
179 
181  switch (e) {
188  CASE(ExecutionModel, Kernel)
197  break;
198  }
199  llvm_unreachable("Unexpected operand");
200 }
201 
203  switch (e) {
208  break;
209  }
210  llvm_unreachable("Unexpected operand");
211 }
212 
214  switch (e) {
219  break;
220  }
221  llvm_unreachable("Unexpected operand");
222 }
223 
225  switch (e) {
255  CASE(ExecutionMode, VecTypeHint)
275  break;
276  }
277  llvm_unreachable("Unexpected operand");
278 }
279 
281  switch (e) {
288  CASE(StorageClass, Private)
293  CASE(StorageClass, Image)
302  break;
303  }
304  llvm_unreachable("Unexpected operand");
305 }
306 
308  switch (dim) {
309  CASE_SUF(Dim, DIM, 1D)
310  CASE_SUF(Dim, DIM, 2D)
311  CASE_SUF(Dim, DIM, 3D)
312  CASE_SUF(Dim, DIM, Cube)
313  CASE_SUF(Dim, DIM, Rect)
314  CASE_SUF(Dim, DIM, Buffer)
315  CASE_SUF(Dim, DIM, SubpassData)
316  break;
317  }
318  llvm_unreachable("Unexpected operand");
319 }
320 
322  switch (e) {
328  break;
329  }
330  llvm_unreachable("Unexpected operand");
331 }
332 
334  switch (e) {
337  break;
338  }
339  llvm_unreachable("Unexpected operand");
340 }
341 
343  switch (e) {
344  CASE(ImageFormat, Unknown)
384  break;
385  }
386  llvm_unreachable("Unexpected operand");
387 }
388 
390  switch (e) {
411  break;
412  }
413  llvm_unreachable("Unexpected operand");
414 }
415 
417  switch (e) {
432  CASE(ImageChannelDataType, Float)
435  break;
436  }
437  llvm_unreachable("Unexpected operand");
438 }
439 
441  std::string nameString = "";
442  std::string sep = "";
443  if (e == static_cast<uint32_t>(ImageOperand::None))
444  return "None";
445  if (e == static_cast<uint32_t>(ImageOperand::Bias))
446  return "Bias";
447  if (e & static_cast<uint32_t>(ImageOperand::Bias)) {
448  nameString += sep + "Bias";
449  sep = "|";
450  }
451  if (e == static_cast<uint32_t>(ImageOperand::Lod))
452  return "Lod";
453  if (e & static_cast<uint32_t>(ImageOperand::Lod)) {
454  nameString += sep + "Lod";
455  sep = "|";
456  }
457  if (e == static_cast<uint32_t>(ImageOperand::Grad))
458  return "Grad";
459  if (e & static_cast<uint32_t>(ImageOperand::Grad)) {
460  nameString += sep + "Grad";
461  sep = "|";
462  }
463  if (e == static_cast<uint32_t>(ImageOperand::ConstOffset))
464  return "ConstOffset";
465  if (e & static_cast<uint32_t>(ImageOperand::ConstOffset)) {
466  nameString += sep + "ConstOffset";
467  sep = "|";
468  }
469  if (e == static_cast<uint32_t>(ImageOperand::Offset))
470  return "Offset";
471  if (e & static_cast<uint32_t>(ImageOperand::Offset)) {
472  nameString += sep + "Offset";
473  sep = "|";
474  }
475  if (e == static_cast<uint32_t>(ImageOperand::ConstOffsets))
476  return "ConstOffsets";
477  if (e & static_cast<uint32_t>(ImageOperand::ConstOffsets)) {
478  nameString += sep + "ConstOffsets";
479  sep = "|";
480  }
481  if (e == static_cast<uint32_t>(ImageOperand::Sample))
482  return "Sample";
483  if (e & static_cast<uint32_t>(ImageOperand::Sample)) {
484  nameString += sep + "Sample";
485  sep = "|";
486  }
487  if (e == static_cast<uint32_t>(ImageOperand::MinLod))
488  return "MinLod";
489  if (e & static_cast<uint32_t>(ImageOperand::MinLod)) {
490  nameString += sep + "MinLod";
491  sep = "|";
492  }
493  if (e == static_cast<uint32_t>(ImageOperand::MakeTexelAvailableKHR))
494  return "MakeTexelAvailableKHR";
495  if (e & static_cast<uint32_t>(ImageOperand::MakeTexelAvailableKHR)) {
496  nameString += sep + "MakeTexelAvailableKHR";
497  sep = "|";
498  }
499  if (e == static_cast<uint32_t>(ImageOperand::MakeTexelVisibleKHR))
500  return "MakeTexelVisibleKHR";
501  if (e & static_cast<uint32_t>(ImageOperand::MakeTexelVisibleKHR)) {
502  nameString += sep + "MakeTexelVisibleKHR";
503  sep = "|";
504  }
505  if (e == static_cast<uint32_t>(ImageOperand::NonPrivateTexelKHR))
506  return "NonPrivateTexelKHR";
507  if (e & static_cast<uint32_t>(ImageOperand::NonPrivateTexelKHR)) {
508  nameString += sep + "NonPrivateTexelKHR";
509  sep = "|";
510  }
511  if (e == static_cast<uint32_t>(ImageOperand::VolatileTexelKHR))
512  return "VolatileTexelKHR";
513  if (e & static_cast<uint32_t>(ImageOperand::VolatileTexelKHR)) {
514  nameString += sep + "VolatileTexelKHR";
515  sep = "|";
516  }
517  if (e == static_cast<uint32_t>(ImageOperand::SignExtend))
518  return "SignExtend";
519  if (e & static_cast<uint32_t>(ImageOperand::SignExtend)) {
520  nameString += sep + "SignExtend";
521  sep = "|";
522  }
523  if (e == static_cast<uint32_t>(ImageOperand::ZeroExtend))
524  return "ZeroExtend";
525  if (e & static_cast<uint32_t>(ImageOperand::ZeroExtend)) {
526  nameString += sep + "ZeroExtend";
527  sep = "|";
528  };
529  return nameString;
530 }
531 
533  std::string nameString = "";
534  std::string sep = "";
535  if (e == static_cast<uint32_t>(FPFastMathMode::None))
536  return "None";
537  if (e == static_cast<uint32_t>(FPFastMathMode::NotNaN))
538  return "NotNaN";
539  if (e & static_cast<uint32_t>(FPFastMathMode::NotNaN)) {
540  nameString += sep + "NotNaN";
541  sep = "|";
542  }
543  if (e == static_cast<uint32_t>(FPFastMathMode::NotInf))
544  return "NotInf";
545  if (e & static_cast<uint32_t>(FPFastMathMode::NotInf)) {
546  nameString += sep + "NotInf";
547  sep = "|";
548  }
549  if (e == static_cast<uint32_t>(FPFastMathMode::NSZ))
550  return "NSZ";
551  if (e & static_cast<uint32_t>(FPFastMathMode::NSZ)) {
552  nameString += sep + "NSZ";
553  sep = "|";
554  }
555  if (e == static_cast<uint32_t>(FPFastMathMode::AllowRecip))
556  return "AllowRecip";
557  if (e & static_cast<uint32_t>(FPFastMathMode::AllowRecip)) {
558  nameString += sep + "AllowRecip";
559  sep = "|";
560  }
561  if (e == static_cast<uint32_t>(FPFastMathMode::Fast))
562  return "Fast";
563  if (e & static_cast<uint32_t>(FPFastMathMode::Fast)) {
564  nameString += sep + "Fast";
565  sep = "|";
566  };
567  return nameString;
568 }
569 
571  switch (e) {
573  CASE(FPRoundingMode, RTZ)
576  break;
577  }
578  llvm_unreachable("Unexpected operand");
579 }
580 
582  switch (e) {
583  CASE(LinkageType, Export)
585  break;
586  }
587  llvm_unreachable("Unexpected operand");
588 }
589 
591  switch (e) {
592  CASE(AccessQualifier, ReadOnly)
593  CASE(AccessQualifier, WriteOnly)
594  CASE(AccessQualifier, ReadWrite)
595  break;
596  }
597  llvm_unreachable("Unexpected operand");
598 }
599 
601  switch (e) {
610  break;
611  }
612  llvm_unreachable("Unexpected operand");
613 }
614 
616  switch (e) {
619  CASE(Decoration, Block)
635  CASE(Decoration, Restrict)
637  CASE(Decoration, Volatile)
651  CASE(Decoration, Offset)
679  break;
680  }
681  llvm_unreachable("Unexpected operand");
682 }
683 
685  switch (e) {
686  CASE(BuiltIn, Position)
694  CASE(BuiltIn, Layer)
777  break;
778  }
779  llvm_unreachable("Unexpected operand");
780 }
781 
783  std::string nameString = "";
784  std::string sep = "";
785  if (e == static_cast<uint32_t>(SelectionControl::None))
786  return "None";
787  if (e == static_cast<uint32_t>(SelectionControl::Flatten))
788  return "Flatten";
789  if (e & static_cast<uint32_t>(SelectionControl::Flatten)) {
790  nameString += sep + "Flatten";
791  sep = "|";
792  }
793  if (e == static_cast<uint32_t>(SelectionControl::DontFlatten))
794  return "DontFlatten";
795  if (e & static_cast<uint32_t>(SelectionControl::DontFlatten)) {
796  nameString += sep + "DontFlatten";
797  sep = "|";
798  };
799  return nameString;
800 }
801 
803  std::string nameString = "";
804  std::string sep = "";
805  if (e == static_cast<uint32_t>(LoopControl::None))
806  return "None";
807  if (e == static_cast<uint32_t>(LoopControl::Unroll))
808  return "Unroll";
809  if (e & static_cast<uint32_t>(LoopControl::Unroll)) {
810  nameString += sep + "Unroll";
811  sep = "|";
812  }
813  if (e == static_cast<uint32_t>(LoopControl::DontUnroll))
814  return "DontUnroll";
815  if (e & static_cast<uint32_t>(LoopControl::DontUnroll)) {
816  nameString += sep + "DontUnroll";
817  sep = "|";
818  }
819  if (e == static_cast<uint32_t>(LoopControl::DependencyInfinite))
820  return "DependencyInfinite";
821  if (e & static_cast<uint32_t>(LoopControl::DependencyInfinite)) {
822  nameString += sep + "DependencyInfinite";
823  sep = "|";
824  }
825  if (e == static_cast<uint32_t>(LoopControl::DependencyLength))
826  return "DependencyLength";
827  if (e & static_cast<uint32_t>(LoopControl::DependencyLength)) {
828  nameString += sep + "DependencyLength";
829  sep = "|";
830  }
831  if (e == static_cast<uint32_t>(LoopControl::MinIterations))
832  return "MinIterations";
833  if (e & static_cast<uint32_t>(LoopControl::MinIterations)) {
834  nameString += sep + "MinIterations";
835  sep = "|";
836  }
837  if (e == static_cast<uint32_t>(LoopControl::MaxIterations))
838  return "MaxIterations";
839  if (e & static_cast<uint32_t>(LoopControl::MaxIterations)) {
840  nameString += sep + "MaxIterations";
841  sep = "|";
842  }
843  if (e == static_cast<uint32_t>(LoopControl::IterationMultiple))
844  return "IterationMultiple";
845  if (e & static_cast<uint32_t>(LoopControl::IterationMultiple)) {
846  nameString += sep + "IterationMultiple";
847  sep = "|";
848  }
849  if (e == static_cast<uint32_t>(LoopControl::PeelCount))
850  return "PeelCount";
851  if (e & static_cast<uint32_t>(LoopControl::PeelCount)) {
852  nameString += sep + "PeelCount";
853  sep = "|";
854  }
855  if (e == static_cast<uint32_t>(LoopControl::PartialCount))
856  return "PartialCount";
857  if (e & static_cast<uint32_t>(LoopControl::PartialCount)) {
858  nameString += sep + "PartialCount";
859  sep = "|";
860  };
861  return nameString;
862 }
863 
865  std::string nameString = "";
866  std::string sep = "";
867  if (e == static_cast<uint32_t>(FunctionControl::None))
868  return "None";
869  if (e == static_cast<uint32_t>(FunctionControl::Inline))
870  return "Inline";
871  if (e & static_cast<uint32_t>(FunctionControl::Inline)) {
872  nameString += sep + "Inline";
873  sep = "|";
874  }
875  if (e == static_cast<uint32_t>(FunctionControl::DontInline))
876  return "DontInline";
877  if (e & static_cast<uint32_t>(FunctionControl::DontInline)) {
878  nameString += sep + "DontInline";
879  sep = "|";
880  }
881  if (e == static_cast<uint32_t>(FunctionControl::Pure))
882  return "Pure";
883  if (e & static_cast<uint32_t>(FunctionControl::Pure)) {
884  nameString += sep + "Pure";
885  sep = "|";
886  }
887  if (e == static_cast<uint32_t>(FunctionControl::Const))
888  return "Const";
889  if (e & static_cast<uint32_t>(FunctionControl::Const)) {
890  nameString += sep + "Const";
891  sep = "|";
892  };
893  return nameString;
894 }
895 
897  std::string nameString = "";
898  std::string sep = "";
899  if (e == static_cast<uint32_t>(MemorySemantics::None))
900  return "None";
901  if (e == static_cast<uint32_t>(MemorySemantics::Acquire))
902  return "Acquire";
903  if (e & static_cast<uint32_t>(MemorySemantics::Acquire)) {
904  nameString += sep + "Acquire";
905  sep = "|";
906  }
907  if (e == static_cast<uint32_t>(MemorySemantics::Release))
908  return "Release";
909  if (e & static_cast<uint32_t>(MemorySemantics::Release)) {
910  nameString += sep + "Release";
911  sep = "|";
912  }
913  if (e == static_cast<uint32_t>(MemorySemantics::AcquireRelease))
914  return "AcquireRelease";
915  if (e & static_cast<uint32_t>(MemorySemantics::AcquireRelease)) {
916  nameString += sep + "AcquireRelease";
917  sep = "|";
918  }
920  return "SequentiallyConsistent";
921  if (e & static_cast<uint32_t>(MemorySemantics::SequentiallyConsistent)) {
922  nameString += sep + "SequentiallyConsistent";
923  sep = "|";
924  }
925  if (e == static_cast<uint32_t>(MemorySemantics::UniformMemory))
926  return "UniformMemory";
927  if (e & static_cast<uint32_t>(MemorySemantics::UniformMemory)) {
928  nameString += sep + "UniformMemory";
929  sep = "|";
930  }
931  if (e == static_cast<uint32_t>(MemorySemantics::SubgroupMemory))
932  return "SubgroupMemory";
933  if (e & static_cast<uint32_t>(MemorySemantics::SubgroupMemory)) {
934  nameString += sep + "SubgroupMemory";
935  sep = "|";
936  }
937  if (e == static_cast<uint32_t>(MemorySemantics::WorkgroupMemory))
938  return "WorkgroupMemory";
939  if (e & static_cast<uint32_t>(MemorySemantics::WorkgroupMemory)) {
940  nameString += sep + "WorkgroupMemory";
941  sep = "|";
942  }
943  if (e == static_cast<uint32_t>(MemorySemantics::CrossWorkgroupMemory))
944  return "CrossWorkgroupMemory";
945  if (e & static_cast<uint32_t>(MemorySemantics::CrossWorkgroupMemory)) {
946  nameString += sep + "CrossWorkgroupMemory";
947  sep = "|";
948  }
949  if (e == static_cast<uint32_t>(MemorySemantics::AtomicCounterMemory))
950  return "AtomicCounterMemory";
951  if (e & static_cast<uint32_t>(MemorySemantics::AtomicCounterMemory)) {
952  nameString += sep + "AtomicCounterMemory";
953  sep = "|";
954  }
955  if (e == static_cast<uint32_t>(MemorySemantics::ImageMemory))
956  return "ImageMemory";
957  if (e & static_cast<uint32_t>(MemorySemantics::ImageMemory)) {
958  nameString += sep + "ImageMemory";
959  sep = "|";
960  }
961  if (e == static_cast<uint32_t>(MemorySemantics::OutputMemoryKHR))
962  return "OutputMemoryKHR";
963  if (e & static_cast<uint32_t>(MemorySemantics::OutputMemoryKHR)) {
964  nameString += sep + "OutputMemoryKHR";
965  sep = "|";
966  }
967  if (e == static_cast<uint32_t>(MemorySemantics::MakeAvailableKHR))
968  return "MakeAvailableKHR";
969  if (e & static_cast<uint32_t>(MemorySemantics::MakeAvailableKHR)) {
970  nameString += sep + "MakeAvailableKHR";
971  sep = "|";
972  }
973  if (e == static_cast<uint32_t>(MemorySemantics::MakeVisibleKHR))
974  return "MakeVisibleKHR";
975  if (e & static_cast<uint32_t>(MemorySemantics::MakeVisibleKHR)) {
976  nameString += sep + "MakeVisibleKHR";
977  sep = "|";
978  };
979  return nameString;
980 }
981 
983  std::string nameString = "";
984  std::string sep = "";
985  if (e == static_cast<uint32_t>(MemoryOperand::None))
986  return "None";
987  if (e == static_cast<uint32_t>(MemoryOperand::Volatile))
988  return "Volatile";
989  if (e & static_cast<uint32_t>(MemoryOperand::Volatile)) {
990  nameString += sep + "Volatile";
991  sep = "|";
992  }
993  if (e == static_cast<uint32_t>(MemoryOperand::Aligned))
994  return "Aligned";
995  if (e & static_cast<uint32_t>(MemoryOperand::Aligned)) {
996  nameString += sep + "Aligned";
997  sep = "|";
998  }
999  if (e == static_cast<uint32_t>(MemoryOperand::Nontemporal))
1000  return "Nontemporal";
1001  if (e & static_cast<uint32_t>(MemoryOperand::Nontemporal)) {
1002  nameString += sep + "Nontemporal";
1003  sep = "|";
1004  }
1005  if (e == static_cast<uint32_t>(MemoryOperand::MakePointerAvailableKHR))
1006  return "MakePointerAvailableKHR";
1007  if (e & static_cast<uint32_t>(MemoryOperand::MakePointerAvailableKHR)) {
1008  nameString += sep + "MakePointerAvailableKHR";
1009  sep = "|";
1010  }
1011  if (e == static_cast<uint32_t>(MemoryOperand::MakePointerVisibleKHR))
1012  return "MakePointerVisibleKHR";
1013  if (e & static_cast<uint32_t>(MemoryOperand::MakePointerVisibleKHR)) {
1014  nameString += sep + "MakePointerVisibleKHR";
1015  sep = "|";
1016  }
1017  if (e == static_cast<uint32_t>(MemoryOperand::NonPrivatePointerKHR))
1018  return "NonPrivatePointerKHR";
1019  if (e & static_cast<uint32_t>(MemoryOperand::NonPrivatePointerKHR)) {
1020  nameString += sep + "NonPrivatePointerKHR";
1021  sep = "|";
1022  };
1023  return nameString;
1024 }
1025 
1027  switch (e) {
1029  CASE(Scope, Device)
1030  CASE(Scope, Workgroup)
1031  CASE(Scope, Subgroup)
1034  break;
1035  }
1036  llvm_unreachable("Unexpected operand");
1037 }
1038 
1040  switch (e) {
1048  break;
1049  }
1050  llvm_unreachable("Unexpected operand");
1051 }
1052 
1054  switch (e) {
1058  break;
1059  }
1060  llvm_unreachable("Unexpected operand");
1061 }
1062 
1064  switch (e) {
1067  break;
1068  }
1069  llvm_unreachable("Unexpected operand");
1070 }
1071 } // namespace SPIRV
1072 } // namespace llvm
llvm::SPIRV::ImageFormat::Rgba16ui
@ Rgba16ui
llvm::SPIRV::ImageChannelOrder::ABGR
@ ABGR
llvm::SPIRV::Capability::ShaderViewportMaskNV
@ ShaderViewportMaskNV
llvm::SPIRV::getSamplerAddressingModeName
StringRef getSamplerAddressingModeName(SamplerAddressingMode e)
Definition: SPIRVBaseInfo.cpp:321
llvm::SPIRV::MemoryOperand::Nontemporal
@ Nontemporal
llvm::SPIRV::Decoration::SecondaryViewportRelativeNV
@ SecondaryViewportRelativeNV
llvm::SPIRV::BuiltIn::LaunchIdNV
@ LaunchIdNV
llvm::SPIRV::MemorySemantics::SubgroupMemory
@ SubgroupMemory
llvm::SPIRV::Decoration::PerVertexNV
@ PerVertexNV
llvm::SPIRV::Decoration::Aliased
@ Aliased
llvm::SPIRV::FPRoundingMode::RTN
@ RTN
llvm::SPIRV::Capability::TessellationPointSize
@ TessellationPointSize
llvm::SPIRV::getLoopControlName
std::string getLoopControlName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:802
llvm::SPIRV::Capability::Int64Atomics
@ Int64Atomics
llvm::SPIRV::BuiltIn::SampleId
@ SampleId
llvm::SPIRV::Capability::ShaderNonUniformEXT
@ ShaderNonUniformEXT
llvm::SPIRV::Scope
Scope
Definition: SPIRVBaseInfo.h:676
llvm::SPIRV::Capability::Float16ImageAMD
@ Float16ImageAMD
llvm::SPIRV::Capability::GroupNonUniformArithmetic
@ GroupNonUniformArithmetic
llvm::SPIRV::BuiltIn::ViewIndex
@ ViewIndex
llvm::SPIRV::BuiltIn::TaskCountNV
@ TaskCountNV
llvm::SPIRV::SourceLanguage::OpenCL_C
@ OpenCL_C
llvm::SPIRV::Capability::MultiViewport
@ MultiViewport
llvm::SPIRV::BuiltIn::BaseVertex
@ BaseVertex
llvm::SPIRV::ImageChannelOrder::Rx
@ Rx
llvm::SPIRV::StorageClass::Input
@ Input
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:17
llvm::SPIRV::ImageFormat::R16
@ R16
llvm::SPIRV::Decoration::Patch
@ Patch
llvm::SPIRV::getSamplerFilterModeName
StringRef getSamplerFilterModeName(SamplerFilterMode e)
Definition: SPIRVBaseInfo.cpp:333
llvm::SPIRV::getCapabilityName
StringRef getCapabilityName(Capability e)
Definition: SPIRVBaseInfo.cpp:31
llvm::SPIRV::ImageOperand::VolatileTexelKHR
@ VolatileTexelKHR
llvm::SPIRV::FunctionParameterAttribute::Zext
@ Zext
llvm::SPIRV::LinkageType
LinkageType
Definition: SPIRVBaseInfo.h:431
llvm::SPIRV::ImageChannelDataType::UnormShort565
@ UnormShort565
llvm::SPIRV::ExecutionMode::PixelCenterInteger
@ PixelCenterInteger
llvm::SPIRV::ExecutionMode
ExecutionMode
Definition: SPIRVBaseInfo.h:202
llvm::SPIRV::BuiltIn::IncomingRayFlagsNV
@ IncomingRayFlagsNV
llvm::SPIRV::Scope::QueueFamilyKHR
@ QueueFamilyKHR
llvm::SPIRV::Decoration::DescriptorSet
@ DescriptorSet
llvm::SPIRV::ExecutionMode::LocalSizeHintId
@ LocalSizeHintId
llvm::SPIRV::Capability::NamedBarrier
@ NamedBarrier
llvm::SPIRV::Capability::InputAttachmentArrayDynamicIndexingEXT
@ InputAttachmentArrayDynamicIndexingEXT
llvm::SPIRV::getFPFastMathModeName
std::string getFPFastMathModeName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:532
llvm::SPIRV::FPFastMathMode::None
@ None
llvm::SPIRV::Capability::UniformBufferArrayDynamicIndexing
@ UniformBufferArrayDynamicIndexing
Finalizer
R600 Control Flow Finalizer
Definition: R600ControlFlowFinalizer.cpp:681
llvm::SPIRV::SamplerAddressingMode::Repeat
@ Repeat
llvm::SPIRV::Capability::RuntimeDescriptorArrayEXT
@ RuntimeDescriptorArrayEXT
llvm::SPIRV::getSourceLanguageName
StringRef getSourceLanguageName(SourceLanguage e)
Definition: SPIRVBaseInfo.cpp:167
llvm::SPIRV::StorageClass::Workgroup
@ Workgroup
llvm::SPIRV::getImageChannelDataTypeName
StringRef getImageChannelDataTypeName(ImageChannelDataType e)
Definition: SPIRVBaseInfo.cpp:416
llvm::Function
Definition: Function.h:60
llvm::SPIRV::Capability::SampledImageArrayNonUniformIndexingEXT
@ SampledImageArrayNonUniformIndexingEXT
llvm::SPIRV::BuiltIn::RayTmaxNV
@ RayTmaxNV
llvm::SPIRV::GroupOperation::PartitionedExclusiveScanNV
@ PartitionedExclusiveScanNV
llvm::SPIRV::BuiltIn::FragDepth
@ FragDepth
llvm::SPIRV::Capability::StorageImageExtendedFormats
@ StorageImageExtendedFormats
llvm::SPIRV::ExecutionMode::DerivativeGroupQuadsNV
@ DerivativeGroupQuadsNV
llvm::SPIRV::Capability::SubgroupDispatch
@ SubgroupDispatch
llvm::SPIRV::BuiltIn::SubgroupMaxSize
@ SubgroupMaxSize
llvm::SPIRV::getDecorationName
StringRef getDecorationName(Decoration e)
Definition: SPIRVBaseInfo.cpp:615
llvm::SPIRV::BuiltIn::SubgroupId
@ SubgroupId
llvm::SPIRV::BuiltIn::SampleMask
@ SampleMask
llvm::SPIRV::BuiltIn::ObjectRayOriginNV
@ ObjectRayOriginNV
llvm::SPIRV::Capability::DerivativeControl
@ DerivativeControl
ErrorHandling.h
llvm::SPIRV::StorageClass::Uniform
@ Uniform
llvm::SPIRV::Decoration
Decoration
Definition: SPIRVBaseInfo.h:456
llvm::SPIRV::FunctionParameterAttribute
FunctionParameterAttribute
Definition: SPIRVBaseInfo.h:444
llvm::SPIRV::Capability::UniformTexelBufferArrayDynamicIndexingEXT
@ UniformTexelBufferArrayDynamicIndexingEXT
llvm::SPIRV::ImageFormat::R8
@ R8
llvm::SPIRV::FPFastMathMode
FPFastMathMode
Definition: SPIRVBaseInfo.h:413
llvm::SPIRV::Capability::CullDistance
@ CullDistance
llvm::SPIRV::Capability::RoundingModeRTZ
@ RoundingModeRTZ
llvm::SPIRV::Capability::SparseResidency
@ SparseResidency
llvm::SPIRV::FunctionParameterAttribute::Sext
@ Sext
llvm::SPIRV::LoopControl::Unroll
@ Unroll
llvm::SPIRV::BuiltIn::SamplePosition
@ SamplePosition
llvm::SPIRV::getDimName
StringRef getDimName(Dim dim)
Definition: SPIRVBaseInfo.cpp:307
llvm::SPIRV::StorageClass::PushConstant
@ PushConstant
llvm::SPIRV::ImageFormat::Rg32f
@ Rg32f
llvm::Depth
@ Depth
Definition: SIMachineScheduler.h:36
llvm::SPIRV::Decoration::FuncParamAttr
@ FuncParamAttr
llvm::SPIRV::ImageOperand::NonPrivateTexelKHR
@ NonPrivateTexelKHR
llvm::SPIRV::Decoration::PerPrimitiveNV
@ PerPrimitiveNV
llvm::SPIRV::Capability::DrawParameters
@ DrawParameters
llvm::SPIRV::getFunctionParameterAttributeName
StringRef getFunctionParameterAttributeName(FunctionParameterAttribute e)
Definition: SPIRVBaseInfo.cpp:600
llvm::SPIRV::getImageFormatName
StringRef getImageFormatName(ImageFormat e)
Definition: SPIRVBaseInfo.cpp:342
llvm::SPIRV::getMemoryModelName
StringRef getMemoryModelName(MemoryModel e)
Definition: SPIRVBaseInfo.cpp:213
llvm::SPIRV::FPRoundingMode::RTE
@ RTE
llvm::SPIRV::BuiltIn::SubgroupLtMask
@ SubgroupLtMask
llvm::SPIRV::Capability::VariablePointers
@ VariablePointers
llvm::SPIRV::SamplerAddressingMode::RepeatMirrored
@ RepeatMirrored
llvm::SPIRV::BuiltIn::InvocationId
@ InvocationId
llvm::SPIRV::ExecutionMode::ContractionOff
@ ContractionOff
llvm::SPIRV::getKernelEnqueueFlagsName
StringRef getKernelEnqueueFlagsName(KernelEnqueueFlags e)
Definition: SPIRVBaseInfo.cpp:1053
llvm::SPIRV::Capability::MultiView
@ MultiView
llvm::SPIRV::Capability::ImageReadWriteLodAMD
@ ImageReadWriteLodAMD
llvm::SPIRV::ImageFormat::Rgba32ui
@ Rgba32ui
llvm::SPIRV::BuiltIn::DeviceIndex
@ DeviceIndex
llvm::SPIRV::Capability::UniformAndStorageBuffer8BitAccess
@ UniformAndStorageBuffer8BitAccess
llvm::SPIRV::MemorySemantics::ImageMemory
@ ImageMemory
llvm::SPIRV::ImageFormat::R16f
@ R16f
llvm::SPIRV::ExecutionMode::OutputVertices
@ OutputVertices
llvm::SPIRV::MemorySemantics::WorkgroupMemory
@ WorkgroupMemory
llvm::SPIRV::Capability::Pipes
@ Pipes
llvm::SPIRV::Capability::GeometryPointSize
@ GeometryPointSize
llvm::SPIRV::ImageFormat::R16i
@ R16i
llvm::SPIRV::Capability::RayTracingNV
@ RayTracingNV
llvm::SPIRV::SamplerFilterMode::Nearest
@ Nearest
llvm::SPIRV::Dim
Dim
Definition: SPIRVBaseInfo.h:279
llvm::SPIRV::Decoration::Binding
@ Binding
llvm::SPIRV::Decoration::GLSLShared
@ GLSLShared
llvm::SPIRV::Decoration::GLSLPacked
@ GLSLPacked
llvm::SPIRV::Capability::StorageBuffer16BitAccess
@ StorageBuffer16BitAccess
llvm::SPIRV::ImageOperand::MinLod
@ MinLod
llvm::SPIRV::ExecutionMode::SubgroupsPerWorkgroup
@ SubgroupsPerWorkgroup
llvm::SPIRV::Capability::Addresses
@ Addresses
llvm::SPIRV::BuiltIn::BaryCoordPullModel
@ BaryCoordPullModel
llvm::SPIRV::Capability::DeviceEnqueue
@ DeviceEnqueue
llvm::SPIRV::Capability::SignedZeroInfNanPreserve
@ SignedZeroInfNanPreserve
llvm::SPIRV::Capability::RoundingModeRTE
@ RoundingModeRTE
llvm::SPIRV::Decoration::AlignmentId
@ AlignmentId
llvm::SPIRV::ImageChannelOrder::sRGBx
@ sRGBx
llvm::SPIRV::ImageOperand::Bias
@ Bias
llvm::SPIRV::Decoration::NonWritable
@ NonWritable
llvm::SPIRV::Capability::UniformTexelBufferArrayNonUniformIndexingEXT
@ UniformTexelBufferArrayNonUniformIndexingEXT
llvm::SPIRV::BuiltIn::WorkDim
@ WorkDim
llvm::SPIRV::Decoration::NoPerspective
@ NoPerspective
llvm::SPIRV::BuiltIn::TessCoord
@ TessCoord
llvm::SPIRV::BuiltIn::HitKindNV
@ HitKindNV
llvm::SPIRV::ImageFormat::Rgba8Snorm
@ Rgba8Snorm
llvm::SPIRV::ImageChannelOrder::sRGBA
@ sRGBA
llvm::SPIRV::Capability::SubgroupImageBlockIOINTEL
@ SubgroupImageBlockIOINTEL
llvm::SPIRV::MemoryOperand::None
@ None
llvm::SPIRV::KernelProfilingInfo::CmdExecTime
@ CmdExecTime
llvm::SPIRV::ExecutionMode::Isolines
@ Isolines
llvm::SPIRV::BuiltIn::BaryCoordSmoothAMD
@ BaryCoordSmoothAMD
llvm::SPIRV::MemorySemantics::CrossWorkgroupMemory
@ CrossWorkgroupMemory
llvm::SPIRV::ImageFormat::Rgba8ui
@ Rgba8ui
llvm::SPIRV::SourceLanguage::GLSL
@ GLSL
llvm::SPIRV::SelectionControl::DontFlatten
@ DontFlatten
llvm::SPIRV::MemoryModel::OpenCL
@ OpenCL
llvm::SPIRV::ExecutionMode::InputLinesAdjacency
@ InputLinesAdjacency
llvm::SPIRV::Capability::InputAttachmentArrayNonUniformIndexingEXT
@ InputAttachmentArrayNonUniformIndexingEXT
llvm::SPIRV::FPFastMathMode::NSZ
@ NSZ
llvm::SPIRV::Capability::ImageCubeArray
@ ImageCubeArray
llvm::SPIRV::Decoration::Centroid
@ Centroid
llvm::SPIRV::Capability::ShaderStereoViewNV
@ ShaderStereoViewNV
llvm::SPIRV::getAddressingModelName
StringRef getAddressingModelName(AddressingModel e)
Definition: SPIRVBaseInfo.cpp:202
llvm::SPIRV::ImageFormat::Rg16i
@ Rg16i
llvm::SPIRV::Decoration::ExplicitInterpAMD
@ ExplicitInterpAMD
llvm::SPIRV::getSelectionControlName
std::string getSelectionControlName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:782
llvm::SPIRV::ImageChannelOrder::DepthStencil
@ DepthStencil
llvm::SPIRV::getLinkageTypeName
StringRef getLinkageTypeName(LinkageType e)
Definition: SPIRVBaseInfo.cpp:581
llvm::SPIRV::ExecutionMode::PointMode
@ PointMode
llvm::SPIRV::MemoryModel::VulkanKHR
@ VulkanKHR
llvm::SPIRV::Capability::SampledRect
@ SampledRect
llvm::SPIRV::Capability::ImageRect
@ ImageRect
llvm::SPIRV::Capability::ImageFootprintNV
@ ImageFootprintNV
llvm::SPIRV::ImageChannelOrder::RG
@ RG
llvm::SPIRV::BuiltIn::BaryCoordSmoothSample
@ BaryCoordSmoothSample
llvm::SPIRV::ImageOperand::ConstOffset
@ ConstOffset
llvm::SPIRV::ImageChannelDataType::UnsigendInt32
@ UnsigendInt32
llvm::SPIRV::BuiltIn::NumEnqueuedSubgroups
@ NumEnqueuedSubgroups
llvm::SPIRV::Capability::TransformFeedback
@ TransformFeedback
llvm::SPIRV::ExecutionMode::OutputPoints
@ OutputPoints
llvm::SPIRV::KernelEnqueueFlags::NoWait
@ NoWait
SPIRVBaseInfo.h
llvm::SPIRV::ExecutionModel::MeshNV
@ MeshNV
llvm::SPIRV::BuiltIn::NumSubgroups
@ NumSubgroups
llvm::SPIRV::ImageChannelDataType::UnormInt101010
@ UnormInt101010
llvm::SPIRV::BuiltIn::FullyCoveredEXT
@ FullyCoveredEXT
llvm::SPIRV::BuiltIn::SubgroupEqMask
@ SubgroupEqMask
llvm::SPIRV::Capability::MeshShadingNV
@ MeshShadingNV
llvm::SPIRV::Capability::GroupNonUniformPartitionedNV
@ GroupNonUniformPartitionedNV
llvm::SPIRV::getAccessQualifierName
StringRef getAccessQualifierName(AccessQualifier e)
Definition: SPIRVBaseInfo.cpp:590
llvm::SPIRV::BuiltIn::InstanceCustomIndexNV
@ InstanceCustomIndexNV
llvm::SPIRV::ExecutionModel::Fragment
@ Fragment
llvm::SPIRV::ImageOperand::Offset
@ Offset
llvm::SPIRV::GroupOperation::PartitionedReduceNV
@ PartitionedReduceNV
llvm::SPIRV::getStorageClassName
StringRef getStorageClassName(StorageClass e)
Definition: SPIRVBaseInfo.cpp:280
llvm::SPIRV::AccessQualifier
AccessQualifier
Definition: SPIRVBaseInfo.h:437
llvm::SPIRV::BuiltIn::InstanceId
@ InstanceId
llvm::SPIRV::BuiltIn::RayTminNV
@ RayTminNV
llvm::SPIRV::Capability::ImageMSArray
@ ImageMSArray
llvm::SPIRV::Decoration::PassthroughNV
@ PassthroughNV
llvm::SPIRV::ImageChannelDataType::SignedInt16
@ SignedInt16
llvm::SPIRV::BuiltIn::FragSizeEXT
@ FragSizeEXT
llvm::SPIRV::getFPRoundingModeName
StringRef getFPRoundingModeName(FPRoundingMode e)
Definition: SPIRVBaseInfo.cpp:570
llvm::dwarf::Index
Index
Definition: Dwarf.h:472
llvm::SPIRV::BuiltIn::SubgroupGtMask
@ SubgroupGtMask
llvm::SPIRV::BuiltIn::SubgroupLeMask
@ SubgroupLeMask
llvm::SPIRV::Capability::CooperativeMatrixNV
@ CooperativeMatrixNV
llvm::SPIRV::Capability::DenormPreserve
@ DenormPreserve
llvm::SPIRV::ExecutionModel::Vertex
@ Vertex
CASE
#define CASE(CLASS, ATTR)
Definition: SPIRVBaseInfo.cpp:22
llvm::SPIRV::ImageOperand::SignExtend
@ SignExtend
llvm::SPIRV::BuiltIn::TessLevelInner
@ TessLevelInner
llvm::SPIRV::Decoration::Invariant
@ Invariant
llvm::SPIRV::Capability::GroupNonUniformQuad
@ GroupNonUniformQuad
llvm::SPIRV::ImageChannelDataType::SignedInt8
@ SignedInt8
llvm::SPIRV::ExecutionMode::VertexOrderCcw
@ VertexOrderCcw
llvm::SPIRV::Capability::FragmentMaskAMD
@ FragmentMaskAMD
llvm::SPIRV::ImageChannelDataType::SnormInt8
@ SnormInt8
llvm::SPIRV::BuiltIn::PointSize
@ PointSize
llvm::SPIRV::ImageFormat::R16ui
@ R16ui
llvm::SPIRV::BuiltIn::Layer
@ Layer
llvm::SPIRV::ImageFormat::R8ui
@ R8ui
llvm::SPIRV::BuiltIn::SubgroupGeMask
@ SubgroupGeMask
llvm::SPIRV::BuiltIn::ViewportMaskNV
@ ViewportMaskNV
llvm::SPIRV::ImageFormat::Rgba32i
@ Rgba32i
llvm::SPIRV::Capability::ImageReadWrite
@ ImageReadWrite
llvm::SPIRV::StorageClass::Output
@ Output
llvm::SPIRV::ExecutionModel::MissNV
@ MissNV
llvm::SPIRV::Capability::GroupNonUniform
@ GroupNonUniform
llvm::SPIRV::Decoration::MatrixStride
@ MatrixStride
llvm::SPIRV::MemoryOperand::MakePointerVisibleKHR
@ MakePointerVisibleKHR
llvm::SPIRV::Capability::AtomicStorage
@ AtomicStorage
llvm::SPIRV::BuiltIn::LocalInvocationIndex
@ LocalInvocationIndex
llvm::SPIRV::Decoration::SaturatedConversion
@ SaturatedConversion
llvm::SPIRV::FunctionParameterAttribute::NoReadWrite
@ NoReadWrite
llvm::SPIRV::ExecutionMode::SubgroupSize
@ SubgroupSize
llvm::SPIRV::Decoration::UniformId
@ UniformId
llvm::SPIRV::ExecutionMode::Invocations
@ Invocations
llvm::SPIRV::BuiltIn::BaryCoordNoPerspSampleAMD
@ BaryCoordNoPerspSampleAMD
llvm::SPIRV::ImageFormat::Rg8Snorm
@ Rg8Snorm
llvm::SPIRV::ImageChannelOrder::RGBA
@ RGBA
llvm::None
const NoneType None
Definition: None.h:24
llvm::PassSummaryAction::Import
@ Import
Import information from summary.
llvm::SPIRV::Capability::GroupNonUniformShuffle
@ GroupNonUniformShuffle
llvm::SPIRV::Capability::Sampled1D
@ Sampled1D
llvm::SPIRV::BuiltIn::SubgroupLocalInvocationId
@ SubgroupLocalInvocationId
llvm::SPIRV::Capability::UniformBufferArrayNonUniformIndexingEXT
@ UniformBufferArrayNonUniformIndexingEXT
llvm::SPIRV::ImageChannelDataType::SnormInt16
@ SnormInt16
llvm::SPIRV::Capability::SubgroupVoteKHR
@ SubgroupVoteKHR
llvm::SPIRV::getExecutionModeName
StringRef getExecutionModeName(ExecutionMode e)
Definition: SPIRVBaseInfo.cpp:224
llvm::SPIRV::FunctionParameterAttribute::NoWrite
@ NoWrite
llvm::SPIRV::ImageChannelOrder::BGRA
@ BGRA
llvm::SPIRV::BuiltIn::HelperInvocation
@ HelperInvocation
llvm::SPIRV::BuiltIn::CullDistancePerViewNV
@ CullDistancePerViewNV
llvm::SPIRV::SelectionControl::None
@ None
llvm::SPIRV::MemorySemantics::AcquireRelease
@ AcquireRelease
llvm::SPIRV::Decoration::LinkageAttributes
@ LinkageAttributes
llvm::SPIRV::Decoration::Flat
@ Flat
llvm::SPIRV::BuiltIn::LocalInvocationId
@ LocalInvocationId
llvm::SPIRV::Decoration::Component
@ Component
llvm::SPIRV::ExecutionMode::SpacingFractionalOdd
@ SpacingFractionalOdd
llvm::SPIRV::MemoryOperand::NonPrivatePointerKHR
@ NonPrivatePointerKHR
llvm::SPIRV::FunctionParameterAttribute::NoCapture
@ NoCapture
llvm::SPIRV::ImageFormat::R8Snorm
@ R8Snorm
llvm::SPIRV::MemorySemantics::MakeVisibleKHR
@ MakeVisibleKHR
llvm::SPIRV::ExecutionMode::InputTrianglesAdjacency
@ InputTrianglesAdjacency
llvm::SPIRV::Decoration::Alignment
@ Alignment
llvm::SPIRV::ExecutionMode::SpacingFractionalEven
@ SpacingFractionalEven
llvm::SPIRV::Capability::SampleMaskOverrideCoverageNV
@ SampleMaskOverrideCoverageNV
llvm::SPIRV::FunctionControl::Inline
@ Inline
llvm::SPIRV::Capability::PerViewAttributesNV
@ PerViewAttributesNV
llvm::SPIRV::Capability::SampleRateShading
@ SampleRateShading
llvm::SPIRV::ExecutionMode::SpacingEqual
@ SpacingEqual
llvm::SPIRV::Capability::StencilExportEXT
@ StencilExportEXT
llvm::SPIRV::StorageClass::CallableDataNV
@ CallableDataNV
llvm::Constant
This is an important base class in LLVM.
Definition: Constant.h:41
llvm::SPIRV::SamplerAddressingMode::ClampToEdge
@ ClampToEdge
llvm::SPIRV::getImageOperandName
std::string getImageOperandName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:440
llvm::SPIRV::getExecutionModelName
StringRef getExecutionModelName(ExecutionModel e)
Definition: SPIRVBaseInfo.cpp:180
llvm::SPIRV::BuiltIn::ObjectToWorldNV
@ ObjectToWorldNV
llvm::SPIRV::FPFastMathMode::Fast
@ Fast
llvm::SPIRV::Scope::Invocation
@ Invocation
llvm::SPIRV::StorageClass
StorageClass
Definition: SPIRVBaseInfo.h:255
llvm::SPIRV::StorageClass::ShaderRecordBufferNV
@ ShaderRecordBufferNV
D
static GCRegistry::Add< StatepointGC > D("statepoint-example", "an example strategy for statepoint")
llvm::SPIRV::Capability::ComputeDerivativeGroupLinearNV
@ ComputeDerivativeGroupLinearNV
llvm::SPIRV::BuiltIn::WorldRayOriginNV
@ WorldRayOriginNV
llvm::SPIRV::ImageFormat::Rgb10A2
@ Rgb10A2
llvm::SPIRV::AddressingModel
AddressingModel
Definition: SPIRVBaseInfo.h:167
llvm::SPIRV::ExecutionMode::LocalSizeId
@ LocalSizeId
llvm::SPIRV::BuiltIn::PrimitiveIndicesNV
@ PrimitiveIndicesNV
llvm::SPIRV::getGroupOperationName
StringRef getGroupOperationName(GroupOperation e)
Definition: SPIRVBaseInfo.cpp:1039
llvm::SPIRV::StorageClass::HitAttributeNV
@ HitAttributeNV
Generic
@ Generic
Definition: AArch64MCAsmInfo.cpp:23
llvm::SPIRV::FunctionParameterAttribute::Sret
@ Sret
llvm::SPIRV::BuiltIn::MeshViewIndices
@ MeshViewIndices
llvm::SPIRV::Decoration::NoUnsignedWrap
@ NoUnsignedWrap
llvm::SPIRV::Capability::StorageImageWriteWithoutFormat
@ StorageImageWriteWithoutFormat
llvm::numbers::e
constexpr double e
Definition: MathExtras.h:57
llvm::SPIRV::BuiltIn::ObjectRayDirectionNV
@ ObjectRayDirectionNV
llvm::SPIRV::ImageFormat::Rgb10a2ui
@ Rgb10a2ui
llvm::SPIRV::ImageFormat::R32ui
@ R32ui
llvm::SPIRV::ImageFormat::Rgba32f
@ Rgba32f
llvm::SPIRV::Capability::VulkanMemoryModelDeviceScopeKHR
@ VulkanMemoryModelDeviceScopeKHR
llvm::SPIRV::SamplerFilterMode
SamplerFilterMode
Definition: SPIRVBaseInfo.h:299
llvm::SPIRV::Capability::Tessellation
@ Tessellation
llvm::SPIRV::Capability::FragmentDensityEXT
@ FragmentDensityEXT
llvm::SPIRV::ImageFormat
ImageFormat
Definition: SPIRVBaseInfo.h:305
llvm::SPIRV::StorageClass::IncomingCallableDataNV
@ IncomingCallableDataNV
llvm::SPIRV::Capability::Geometry
@ Geometry
llvm::SPIRV::getImageChannelOrderName
StringRef getImageChannelOrderName(ImageChannelOrder e)
Definition: SPIRVBaseInfo.cpp:389
llvm::SPIRV::ImageFormat::Rg8ui
@ Rg8ui
llvm::SPIRV::Capability::VariablePointersStorageBuffer
@ VariablePointersStorageBuffer
llvm::SPIRV::MemorySemantics::SequentiallyConsistent
@ SequentiallyConsistent
llvm::SPIRV::BuiltIn::ViewportIndex
@ ViewportIndex
llvm::SPIRV::getMemoryOperandName
std::string getMemoryOperandName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:982
llvm::SPIRV::ExecutionMode::DepthUnchanged
@ DepthUnchanged
llvm::SPIRV::FunctionControl::DontInline
@ DontInline
llvm::SPIRV::Capability::VulkanMemoryModelKHR
@ VulkanMemoryModelKHR
llvm::SPIRV::ImageFormat::Rg32i
@ Rg32i
llvm::SPIRV::Decoration::MaxByteOffset
@ MaxByteOffset
llvm::SPIRV::getBuiltInName
StringRef getBuiltInName(BuiltIn e)
Definition: SPIRVBaseInfo.cpp:684
llvm::SPIRV::ImageFormat::Rgba8
@ Rgba8
llvm::SPIRV::MemorySemantics::None
@ None
llvm::SPIRV::Capability::ImageMipmap
@ ImageMipmap
llvm::SPIRV::Capability::SampledCubeArray
@ SampledCubeArray
llvm::SPIRV::Capability::DenormFlushToZero
@ DenormFlushToZero
llvm::SPIRV::Decoration::Stream
@ Stream
llvm::SPIRV::GroupOperation::PartitionedInclusiveScanNV
@ PartitionedInclusiveScanNV
llvm::SPIRV::GroupOperation
GroupOperation
Definition: SPIRVBaseInfo.h:686
llvm::SPIRV::BuiltIn::InstanceIndex
@ InstanceIndex
llvm::SPIRV::Decoration::NonUniformEXT
@ NonUniformEXT
llvm::SPIRV::Decoration::XfbBuffer
@ XfbBuffer
llvm::SPIRV::BuiltIn::VertexId
@ VertexId
llvm::SPIRV::ExecutionMode::Triangles
@ Triangles
llvm::SPIRV::ImageFormat::R11fG11fB10f
@ R11fG11fB10f
llvm::SPIRV::Decoration::NoContraction
@ NoContraction
llvm::SPIRV::ExecutionModel
ExecutionModel
Definition: SPIRVBaseInfo.h:175
llvm::SPIRV::AddressingModel::Physical64
@ Physical64
llvm::SPIRV::Capability::Groups
@ Groups
llvm::SPIRV::Capability::SampledImageArrayDymnamicIndexing
@ SampledImageArrayDymnamicIndexing
llvm::SPIRV::Capability
Capability
Definition: SPIRVBaseInfo.h:24
llvm::SPIRV::ExecutionMode::PostDepthCoverage
@ PostDepthCoverage
llvm::SPIRV::ExecutionMode::DerivativeGroupLinearNV
@ DerivativeGroupLinearNV
llvm::SPIRV::ImageChannelOrder::sRGB
@ sRGB
llvm::SPIRV::ImageChannelDataType::UnormInt16
@ UnormInt16
llvm::SPIRV::BuiltIn::SecondaryPositionNV
@ SecondaryPositionNV
RA
SI optimize exec mask operations pre RA
Definition: SIOptimizeExecMaskingPreRA.cpp:71
llvm::SPIRV::ImageChannelOrder::sBGRA
@ sBGRA
llvm::SPIRV::ExecutionMode::SubgroupsPerWorkgroupId
@ SubgroupsPerWorkgroupId
llvm::SPIRV::ImageChannelOrder::RGB
@ RGB
llvm::SPIRV::BuiltIn
BuiltIn
Definition: SPIRVBaseInfo.h:522
llvm::SPIRV::Decoration::OverrideCoverageNV
@ OverrideCoverageNV
llvm::SPIRV::Capability::PipeStorage
@ PipeStorage
llvm::SPIRV::MemoryOperand::Volatile
@ Volatile
llvm::SPIRV::BuiltIn::GlobalSize
@ GlobalSize
llvm::SPIRV::ImageChannelDataType
ImageChannelDataType
Definition: SPIRVBaseInfo.h:373
llvm::SPIRV::LoopControl::IterationMultiple
@ IterationMultiple
llvm::SPIRV::Capability::StorageTexelBufferArrayNonUniformIndexingEXT
@ StorageTexelBufferArrayNonUniformIndexingEXT
llvm::SPIRV::ImageFormat::Rg16
@ Rg16
llvm::SPIRV::BuiltIn::WorkgroupSize
@ WorkgroupSize
llvm::SPIRV::ImageChannelDataType::HalfFloat
@ HalfFloat
llvm::SPIRV::ImageOperand::Sample
@ Sample
llvm::SPIRV::ImageFormat::Rg16f
@ Rg16f
llvm::SPIRV::Decoration::RowMajor
@ RowMajor
llvm::SPIRV::BuiltIn::LayerPerViewNV
@ LayerPerViewNV
llvm::SPIRV::BuiltIn::ClipDistancePerViewNV
@ ClipDistancePerViewNV
llvm::SPIRV::Decoration::PerViewNV
@ PerViewNV
llvm::SPIRV::LoopControl::DontUnroll
@ DontUnroll
llvm::SPIRV::Capability::StorageImageArrayNonUniformIndexingEXT
@ StorageImageArrayNonUniformIndexingEXT
llvm::SPIRV::Capability::SubgroupAvcMotionEstimationINTEL
@ SubgroupAvcMotionEstimationINTEL
llvm::SPIRV::Capability::GroupNonUniformVote
@ GroupNonUniformVote
llvm::SPIRV::FunctionControl::Const
@ Const
llvm::SPIRV::Capability::FragmentFullyCoveredEXT
@ FragmentFullyCoveredEXT
llvm::SPIRV::Decoration::UserSemantic
@ UserSemantic
llvm::SPIRV::AddressingModel::Physical32
@ Physical32
llvm::SPIRV::FunctionParameterAttribute::ByVal
@ ByVal
llvm::SPIRV::ImageChannelDataType::UnormInt8
@ UnormInt8
llvm::SPIRV::ImageChannelOrder
ImageChannelOrder
Definition: SPIRVBaseInfo.h:349
Matrix
Live Register Matrix
Definition: LiveRegMatrix.cpp:44
llvm::SPIRV::BuiltIn::EnqueuedWorkgroupSize
@ EnqueuedWorkgroupSize
llvm::SPIRV::AddressingModel::Logical
@ Logical
llvm::SPIRV::Capability::StoragePushConstant16
@ StoragePushConstant16
llvm::SPIRV::MemoryModel
MemoryModel
Definition: SPIRVBaseInfo.h:194
llvm::SPIRV::SamplerAddressingMode::Clamp
@ Clamp
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:58
llvm::SPIRV::BuiltIn::GlobalLinearId
@ GlobalLinearId
llvm::SPIRV::BuiltIn::DrawIndex
@ DrawIndex
llvm::SPIRV::SamplerAddressingMode
SamplerAddressingMode
Definition: SPIRVBaseInfo.h:290
llvm::SPIRV::Capability::StorageImageMultisample
@ StorageImageMultisample
llvm_unreachable
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Definition: ErrorHandling.h:143
llvm::SPIRV::Capability::SampleMaskPostDepthCoverage
@ SampleMaskPostDepthCoverage
llvm::SPIRV::Decoration::MaxByteOffsetId
@ MaxByteOffsetId
llvm::SPIRV::LoopControl::DependencyLength
@ DependencyLength
llvm::SPIRV::ExecutionMode::DepthReplacing
@ DepthReplacing
llvm::SPIRV::StorageClass::StorageBuffer
@ StorageBuffer
uint32_t
llvm::SPIRV::GroupOperation::ClusteredReduce
@ ClusteredReduce
llvm::SPIRV::SelectionControl::Flatten
@ Flatten
llvm::SPIRV::BuiltIn::GlobalOffset
@ GlobalOffset
llvm::SPIRV::Decoration::NoSignedWrap
@ NoSignedWrap
llvm::SPIRV::ExecutionMode::StencilRefReplacingEXT
@ StencilRefReplacingEXT
llvm::SPIRV::ExecutionMode::DepthGreater
@ DepthGreater
llvm::SPIRV::LoopControl::MinIterations
@ MinIterations
llvm::SPIRV::MemoryModel::GLSL450
@ GLSL450
llvm::SPIRV::BuiltIn::BaseInstance
@ BaseInstance
llvm::SPIRV::Decoration::XfbStride
@ XfbStride
llvm::SPIRV::ExecutionModel::RayGenerationNV
@ RayGenerationNV
llvm::SPIRV::Capability::ImageGatherBiasLodAMD
@ ImageGatherBiasLodAMD
llvm::SPIRV::KernelEnqueueFlags
KernelEnqueueFlags
Definition: SPIRVBaseInfo.h:697
llvm::SPIRV::Capability::StorageUniform16
@ StorageUniform16
llvm::SPIRV::KernelEnqueueFlags::WaitKernel
@ WaitKernel
llvm::SPIRV::BuiltIn::PointCoord
@ PointCoord
llvm::SPIRV::Scope::Device
@ Device
llvm::SPIRV::Capability::GroupNonUniformBallot
@ GroupNonUniformBallot
llvm::SPIRV::Capability::Shader
@ Shader
llvm::SPIRV::Capability::AtomicStorageOps
@ AtomicStorageOps
llvm::SPIRV::Capability::StorageImageReadWithoutFormat
@ StorageImageReadWithoutFormat
llvm::SPIRV::BuiltIn::PositionPerViewNV
@ PositionPerViewNV
llvm::SPIRV::getScopeName
StringRef getScopeName(Scope e)
Definition: SPIRVBaseInfo.cpp:1026
llvm::SPIRV::BuiltIn::PrimitiveId
@ PrimitiveId
llvm::SPIRV::MemorySemantics::AtomicCounterMemory
@ AtomicCounterMemory
llvm::SPIRV::ImageChannelOrder::ARGB
@ ARGB
llvm::SPIRV::getMemorySemanticsName
std::string getMemorySemanticsName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:896
llvm::SPIRV::BuiltIn::FragCoord
@ FragCoord
llvm::SPIRV::ExecutionModel::CallableNV
@ CallableNV
llvm::SPIRV::Capability::PhysicalStorageBufferAddressesEXT
@ PhysicalStorageBufferAddressesEXT
llvm::SPIRV::Decoration::InputAttachmentIndex
@ InputAttachmentIndex
llvm::SPIRV::MemorySemantics::OutputMemoryKHR
@ OutputMemoryKHR
llvm::SPIRV::ImageFormat::Rgba16
@ Rgba16
llvm::SPIRV::Decoration::BufferBlock
@ BufferBlock
llvm::SPIRV::ImageChannelDataType::UnormInt101010_2
@ UnormInt101010_2
llvm::SPIRV::Capability::ImageBuffer
@ ImageBuffer
llvm::SPIRV::Capability::SubgroupBallotKHR
@ SubgroupBallotKHR
llvm::SPIRV::ImageChannelDataType::UnsignedInt16
@ UnsignedInt16
llvm::SPIRV::getKernelProfilingInfoName
StringRef getKernelProfilingInfoName(KernelProfilingInfo e)
Definition: SPIRVBaseInfo.cpp:1063
llvm::SPIRV::BuiltIn::WorldToObjectNV
@ WorldToObjectNV
llvm::SPIRV::FPFastMathMode::NotInf
@ NotInf
llvm::SPIRV::LoopControl::MaxIterations
@ MaxIterations
llvm::SPIRV::ExecutionModel::TessellationEvaluation
@ TessellationEvaluation
llvm::SPIRV::Decoration::ColMajor
@ ColMajor
llvm::SPIRV::ImageFormat::Rg8
@ Rg8
llvm::SPIRV::MemoryOperand::MakePointerAvailableKHR
@ MakePointerAvailableKHR
llvm::SPIRV::ImageOperand::Lod
@ Lod
llvm::SPIRV::ImageFormat::Rgba16f
@ Rgba16f
llvm::SPIRV::ImageChannelOrder::RGx
@ RGx
llvm::SPIRV::Capability::InterpolationFunction
@ InterpolationFunction
llvm::SPIRV::Capability::DeviceGroup
@ DeviceGroup
llvm::SPIRV::ExecutionMode::Xfb
@ Xfb
llvm::SPIRV::BuiltIn::FrontFacing
@ FrontFacing
llvm::SPIRV::BuiltIn::BaryCoordNV
@ BaryCoordNV
llvm::SPIRV::ImageChannelDataType::UnsignedInt8
@ UnsignedInt8
llvm::SPIRV::Capability::SubgroupAvcMotionEstimationIntraINTEL
@ SubgroupAvcMotionEstimationIntraINTEL
llvm::SPIRV::StorageClass::PhysicalStorageBufferEXT
@ PhysicalStorageBufferEXT
llvm::SPIRV::ImageChannelOrder::RGBx
@ RGBx
llvm::SPIRV::ImageChannelOrder::Intensity
@ Intensity
llvm::SPIRV::Decoration::SpecId
@ SpecId
llvm::SPIRV::ImageChannelDataType::SignedInt32
@ SignedInt32
llvm::SPIRV::Capability::ImageBasic
@ ImageBasic
llvm::SPIRV::StorageClass::UniformConstant
@ UniformConstant
llvm::SPIRV::Capability::Float16Buffer
@ Float16Buffer
llvm::SPIRV::Decoration::RestrictPointerEXT
@ RestrictPointerEXT
llvm::SPIRV::BuiltIn::SecondaryViewportMaskNV
@ SecondaryViewportMaskNV
llvm::SPIRV::FunctionControl::None
@ None
llvm::SPIRV::Decoration::NonReadable
@ NonReadable
llvm::SPIRV::BuiltIn::BaryCoordNoPerspNV
@ BaryCoordNoPerspNV
llvm::SPIRV::ExecutionMode::OutputLinesNV
@ OutputLinesNV
llvm::SPIRV::Capability::StorageBufferArrayNonUniformIndexingEXT
@ StorageBufferArrayNonUniformIndexingEXT
llvm::SPIRV::ImageChannelOrder::Luminance
@ Luminance
llvm::SPIRV::Capability::ShaderViewportIndexLayerEXT
@ ShaderViewportIndexLayerEXT
llvm::SPIRV::Capability::StorageTexelBufferArrayDynamicIndexingEXT
@ StorageTexelBufferArrayDynamicIndexingEXT
llvm::SPIRV::Scope::CrossDevice
@ CrossDevice
llvm::SPIRV::Capability::GroupNonUniformClustered
@ GroupNonUniformClustered
llvm::SPIRV::BuiltIn::FragStencilRefEXT
@ FragStencilRefEXT
llvm::SPIRV::MemorySemantics::Release
@ Release
llvm::SPIRV::ImageFormat::Rgba16i
@ Rgba16i
llvm::SPIRV::ImageOperand::MakeTexelVisibleKHR
@ MakeTexelVisibleKHR
CASE_SUF
#define CASE_SUF(CLASS, SF, ATTR)
Definition: SPIRVBaseInfo.cpp:25
llvm::SPIRV::BuiltIn::WorkgroupId
@ WorkgroupId
llvm::SPIRV::ExecutionMode::Quads
@ Quads
llvm::SPIRV::ImageOperand::ZeroExtend
@ ZeroExtend
llvm::SPIRV::FPFastMathMode::AllowRecip
@ AllowRecip
llvm::SPIRV::ExecutionMode::Initializer
@ Initializer
llvm::SPIRV::ExecutionMode::LocalSizeHint
@ LocalSizeHint
llvm::SPIRV::MemorySemantics::UniformMemory
@ UniformMemory
llvm::SPIRV::FPFastMathMode::NotNaN
@ NotNaN
llvm::SPIRV::BuiltIn::PatchVertices
@ PatchVertices
llvm::SPIRV::FPRoundingMode
FPRoundingMode
Definition: SPIRVBaseInfo.h:423
llvm::SPIRV::KernelEnqueueFlags::WaitWorkGroup
@ WaitWorkGroup
llvm::SPIRV::BuiltIn::MeshViewCountNV
@ MeshViewCountNV
llvm::SPIRV::ImageFormat::R32i
@ R32i
llvm::SPIRV::Capability::SubgroupAvcMotionEstimationChromaINTEL
@ SubgroupAvcMotionEstimationChromaINTEL
llvm::SPIRV::LoopControl::PartialCount
@ PartialCount
llvm::SPIRV::ImageFormat::Rgba16Snorm
@ Rgba16Snorm
llvm::SPIRV::ExecutionMode::OriginUpperLeft
@ OriginUpperLeft
llvm::SPIRV::ExecutionModel::TaskNV
@ TaskNV
llvm::SPIRV::Capability::StorageBuffer8BitAccess
@ StorageBuffer8BitAccess
llvm::SPIRV::FunctionParameterAttribute::NoAlias
@ NoAlias
llvm::SPIRV::ImageOperand::ConstOffsets
@ ConstOffsets
llvm::SPIRV::ExecutionMode::VertexOrderCw
@ VertexOrderCw
llvm::SPIRV::ImageOperand::MakeTexelAvailableKHR
@ MakeTexelAvailableKHR
llvm::SPIRV::GroupOperation::Reduce
@ Reduce
llvm::SPIRV::ExecutionModel::AnyHitNV
@ AnyHitNV
llvm::SPIRV::Capability::ComputeDerivativeGroupQuadsNV
@ ComputeDerivativeGroupQuadsNV
llvm::SPIRV::Decoration::Location
@ Location
llvm::SPIRV::ImageFormat::Rg32ui
@ Rg32ui
llvm::SPIRV::BuiltIn::BaryCoordNoPerspAMD
@ BaryCoordNoPerspAMD
llvm::SPIRV::Capability::SampledBuffer
@ SampledBuffer
llvm::SPIRV::ImageFormat::R8i
@ R8i
llvm::SPIRV::Capability::MinLod
@ MinLod
llvm::SPIRV::BuiltIn::BaryCoordSmoothCentroid
@ BaryCoordSmoothCentroid
llvm::SPIRV::BuiltIn::HitTNV
@ HitTNV
llvm::SPIRV::ImageFormat::R16Snorm
@ R16Snorm
llvm::SPIRV::getFunctionControlName
std::string getFunctionControlName(uint32_t e)
Definition: SPIRVBaseInfo.cpp:864
llvm::SPIRV::ExecutionMode::InputPoints
@ InputPoints
llvm::SPIRV::ImageFormat::Rgba8i
@ Rgba8i
llvm::SPIRV::Capability::Image1D
@ Image1D
llvm::SPIRV::Capability::SubgroupShuffleINTEL
@ SubgroupShuffleINTEL
llvm::SPIRV::ImageOperand::None
@ None
llvm::SPIRV::Capability::LiteralSampler
@ LiteralSampler
llvm::SPIRV::Decoration::CPacked
@ CPacked
llvm::SPIRV::ExecutionMode::LocalSize
@ LocalSize
llvm::SPIRV::ImageFormat::Rg8i
@ Rg8i
llvm::SPIRV::Decoration::CountBuffer
@ CountBuffer
llvm::SPIRV::Capability::GeometryStreams
@ GeometryStreams
llvm::SPIRV::Decoration::AliasedPointerEXT
@ AliasedPointerEXT
llvm::SPIRV::ExecutionModel::ClosestHitNV
@ ClosestHitNV
llvm::SPIRV::Capability::GroupNonUniformShuffleRelative
@ GroupNonUniformShuffleRelative
llvm::SPIRV::BuiltIn::ViewportMaskPerViewNV
@ ViewportMaskPerViewNV
llvm::SPIRV::SamplerFilterMode::Linear
@ Linear
llvm::SPIRV::GroupOperation::InclusiveScan
@ InclusiveScan
llvm::SPIRV::FPRoundingMode::RTP
@ RTP
llvm::SPIRV::StorageClass::AtomicCounter
@ AtomicCounter
llvm::SPIRV::ExecutionMode::OriginLowerLeft
@ OriginLowerLeft
llvm::SPIRV::ExecutionMode::EarlyFragmentTests
@ EarlyFragmentTests
llvm::SPIRV::SourceLanguage::ESSL
@ ESSL
llvm::SPIRV::Capability::Vector16
@ Vector16
llvm::SPIRV::SourceLanguage::OpenCL_CPP
@ OpenCL_CPP
llvm::SPIRV::ExecutionModel::GLCompute
@ GLCompute
llvm::SPIRV::Scope::Subgroup
@ Subgroup
llvm::SPIRV::StorageClass::CrossWorkgroup
@ CrossWorkgroup
llvm::SPIRV::Capability::SubgroupImageMediaBlockIOINTEL
@ SubgroupImageMediaBlockIOINTEL
llvm::SPIRV::ExecutionModel::TessellationControl
@ TessellationControl
llvm::SPIRV::GroupOperation::ExclusiveScan
@ ExclusiveScan
llvm::SPIRV::MemorySemantics::Acquire
@ Acquire
llvm::SPIRV::ImageFormat::R32f
@ R32f
llvm::SPIRV::LoopControl::None
@ None
llvm::SPIRV::ExecutionMode::OutputTriangleStrip
@ OutputTriangleStrip
llvm::SPIRV::KernelProfilingInfo
KernelProfilingInfo
Definition: SPIRVBaseInfo.h:704
llvm::SPIRV::SourceLanguage
SourceLanguage
Definition: SPIRVBaseInfo.h:157
llvm::SPIRV::StorageClass::RayPayloadNV
@ RayPayloadNV
llvm::SPIRV::BuiltIn::LaunchSizeNV
@ LaunchSizeNV
llvm::SPIRV::StorageClass::IncomingRayPayloadNV
@ IncomingRayPayloadNV
llvm::SPIRV::BuiltIn::TessLevelOuter
@ TessLevelOuter
llvm::SPIRV::ExecutionModel::IntersectionNV
@ IntersectionNV
llvm::SPIRV::MemoryModel::Simple
@ Simple
llvm::SPIRV::Capability::GeometryShaderPassthroughNV
@ GeometryShaderPassthroughNV
llvm::SPIRV::Capability::ImageGatherExtended
@ ImageGatherExtended
llvm::SPIRV::ImageFormat::Rg16ui
@ Rg16ui
llvm::SPIRV::ExecutionMode::InputLines
@ InputLines
llvm::SPIRV::Capability::InputAttachment
@ InputAttachment
llvm::SPIRV::Decoration::RelaxedPrecision
@ RelaxedPrecision
llvm::SPIRV::MemorySemantics::MakeAvailableKHR
@ MakeAvailableKHR
llvm::SPIRV::Decoration::Coherent
@ Coherent
llvm::SPIRV::Capability::SubgroupBufferBlockIOINTEL
@ SubgroupBufferBlockIOINTEL
llvm::SPIRV::Decoration::ViewportRelativeNV
@ ViewportRelativeNV
llvm::SPIRV::BuiltIn::PrimitiveCountNV
@ PrimitiveCountNV
llvm::SPIRV::BuiltIn::BaryCoordNoPerspCentroidAMD
@ BaryCoordNoPerspCentroidAMD
llvm::SPIRV::LoopControl::DependencyInfinite
@ DependencyInfinite
llvm::SPIRV::ImageFormat::Rg16Snorm
@ Rg16Snorm
llvm::SPIRV::ImageChannelDataType::UnormInt24
@ UnormInt24
llvm::SPIRV::BuiltIn::GlobalInvocationId
@ GlobalInvocationId
llvm::SPIRV::Capability::StorageInputOutput16
@ StorageInputOutput16
llvm::SPIRV::Capability::GenericPointer
@ GenericPointer
llvm::SPIRV::AddressingModel::PhysicalStorageBuffer64EXT
@ PhysicalStorageBuffer64EXT
llvm::SPIRV::ExecutionMode::OutputLineStrip
@ OutputLineStrip
llvm::SPIRV::Capability::FragmentBarycentricNV
@ FragmentBarycentricNV
llvm::SPIRV::Decoration::ArrayStride
@ ArrayStride
llvm::SPIRV::ExecutionMode::DepthLess
@ DepthLess
llvm::SPIRV::LoopControl::PeelCount
@ PeelCount
llvm::SPIRV::BuiltIn::FragInvocationCountEXT
@ FragInvocationCountEXT
llvm::SPIRV::BuiltIn::NumWorkgroups
@ NumWorkgroups
llvm::SPIRV::MemoryOperand::Aligned
@ Aligned
llvm::SPIRV::Capability::ClipDistance
@ ClipDistance
llvm::SPIRV::ImageChannelDataType::UnormShort555
@ UnormShort555
llvm::SPIRV::Capability::ImageQuery
@ ImageQuery
llvm::SPIRV::BuiltIn::WorldRayDirectionNV
@ WorldRayDirectionNV
llvm::SPIRV::Capability::StoragePushConstant8
@ StoragePushConstant8
llvm::SPIRV::FunctionControl::Pure
@ Pure
llvm::SPIRV::ImageOperand::Grad
@ Grad
llvm::SPIRV::ExecutionMode::OutputTrianglesNV
@ OutputTrianglesNV
llvm::SPIRV::BuiltIn::VertexIndex
@ VertexIndex