|
LLVM 23.0.0git
|
Command line parser for toggling SPIR-V extensions. More...
#include "Target/SPIRV/SPIRVCommandLine.h"
Static Public Member Functions | |
| static StringRef | checkExtensions (const std::vector< std::string > &ExtNames, ExtensionSet &AllowedExtensions) |
| Validates and converts extension names into internal enum values. | |
| static ExtensionSet | getValidExtensions (const Triple &TT) |
| Returns the list of extensions that are valid for a particular target environment (i.e., OpenCL or Vulkan). | |
Additional Inherited Members | |
| Public Types inherited from llvm::cl::parser< ExtensionSet > | |
| using | parser_data_type |
| Protected Attributes inherited from llvm::cl::parser< ExtensionSet > | |
| SmallVector< OptionInfo, 8 > | Values |
| Protected Attributes inherited from llvm::cl::generic_parser_base | |
| Option & | Owner |
Command line parser for toggling SPIR-V extensions.
Definition at line 26 of file SPIRVCommandLine.h.
|
inline |
Definition at line 28 of file SPIRVCommandLine.h.
References llvm::cl::parser< ExtensionSet >::parser().
|
static |
Validates and converts extension names into internal enum values.
Definition at line 234 of file SPIRVCommandLine.cpp.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), and SPIRVExtensionMap.
Referenced by llvm::SPIRVTranslate().
|
static |
Returns the list of extensions that are valid for a particular target environment (i.e., OpenCL or Vulkan).
Definition at line 250 of file SPIRVCommandLine.cpp.
References llvm::getSymbolicOperandAllowedEnvironments(), llvm::is_contained(), SPIRVExtensionMap, and llvm::Triple::Vulkan.
Referenced by llvm::SPIRVSubtarget::initAvailableExtensions(), and llvm::SPIRVSubtarget::SPIRVSubtarget().
| bool SPIRVExtensionsParser::parse | ( | cl::Option & | O, |
| StringRef | ArgName, | ||
| StringRef | ArgValue, | ||
| ExtensionSet & | Vals ) |
Parses SPIR-V extension name from CLI arguments.
Definition at line 179 of file SPIRVCommandLine.cpp.
References llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::count(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::end(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::equal_to(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::erase(), llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert(), llvm::make_range(), llvm::make_second_range(), llvm::partition(), SPIRVExtensionMap, llvm::StringRef::split(), starts_with(), llvm::StringRef::substr(), and T.