LLVM 24.0.0git
llvm::SPIRVExtensionsParser Struct Reference

Parser for toggling SPIR-V extensions. More...

#include "Target/SPIRV/SPIRVCommandLine.h"

Static Public Member Functions

static Error parse (StringRef ArgValue, ExtensionSet &Enabled, ExtensionSet &Disabled)
 Parses the value of -spirv-ext into Enabled and Disabled.
static StringRef checkExtensions (ArrayRef< std::string > ExtNames, ExtensionSet &AllowedExtensions)
 Validates and converts extension names into internal enum values.
static ExtensionSet getValidExtensions (const Triple &TT, const ExtensionSet &Disabled)
 Returns the list of extensions that are valid for a particular target environment (i.e., OpenCL or Vulkan), excluding Disabled.

Detailed Description

Parser for toggling SPIR-V extensions.

Definition at line 27 of file SPIRVCommandLine.h.

Member Function Documentation

◆ checkExtensions()

StringRef SPIRVExtensionsParser::checkExtensions ( ArrayRef< std::string > ExtNames,
ExtensionSet & AllowedExtensions )
static

Validates and converts extension names into internal enum values.

Returns
Returns a reference to the unknown SPIR-V extension name from the list if present, or an empty StringRef on success.

Definition at line 248 of file SPIRVCommandLine.cpp.

References llvm::detail::DenseSetImpl< ValueT, MapTy >::insert(), and SPIRVExtensionMap.

Referenced by llvm::SPIRVTranslate().

◆ getValidExtensions()

ExtensionSet SPIRVExtensionsParser::getValidExtensions ( const Triple & TT,
const ExtensionSet & Disabled )
static

Returns the list of extensions that are valid for a particular target environment (i.e., OpenCL or Vulkan), excluding Disabled.

Definition at line 265 of file SPIRVCommandLine.cpp.

References llvm::Disabled, llvm::getSymbolicOperandAllowedEnvironments(), llvm::is_contained(), SPIRVExtensionMap, and llvm::Triple::Vulkan.

Referenced by llvm::SPIRVSubtarget::initAvailableExtensions(), and llvm::SPIRVSubtarget::SPIRVSubtarget().

◆ parse()


The documentation for this struct was generated from the following files: