Lines Matching defs:Availability

56 // Availability Wrapper Class
62 class Availability {
64 explicit Availability(const Record *def);
111 Availability::Availability(const Record *def) : def(def) {
112 assert(def->isSubClassOf("Availability") &&
113 "must be subclass of TableGen 'Availability' class");
116 StringRef Availability::getClass() const {
126 StringRef Availability::getInterfaceClassNamespace() const {
130 StringRef Availability::getInterfaceClassName() const {
134 StringRef Availability::getInterfaceDescription() const {
138 StringRef Availability::getQueryFnRetType() const {
142 StringRef Availability::getQueryFnName() const {
146 StringRef Availability::getMergeActionCode() const {
150 StringRef Availability::getMergeInitializer() const {
154 StringRef Availability::getMergeInstanceType() const {
158 StringRef Availability::getMergeInstancePreparation() const {
162 StringRef Availability::getMergeInstance() const {
167 std::vector<Availability> getAvailabilities(const Record &def) {
168 std::vector<Availability> availabilities;
182 // Availability Interface Definitions AutoGen
185 static void emitInterfaceDef(const Availability &availability,
202 llvm::emitSourceFileHeader("Availability Interface Definitions", os, records);
204 auto defs = records.getAllDerivedDefinitions("Availability");
216 Availability availability(def);
224 // Availability Interface Declarations AutoGen
227 static void emitConceptDecl(const Availability &availability, raw_ostream &os) {
237 static void emitModelDecl(const Availability &availability, raw_ostream &os) {
258 static void emitInterfaceDecl(const Availability &availability,
290 llvm::emitSourceFileHeader("Availability Interface Declarations", os,
293 auto defs = records.getAllDerivedDefinitions("Availability");
305 Availability avail(def);
313 // Availability Interface Hook Registration
333 // Enum Availability Query AutoGen
344 llvm::StringMap<llvm::SmallVector<std::pair<EnumAttrCase, Availability>, 1>>
350 for (const Availability &avail : getAvailabilities(enumerant.getDef()))
354 Availability avail = classCasePair.getValue().front().second;
363 Availability avail = caseSpecPair.second;
386 llvm::StringMap<llvm::SmallVector<std::pair<EnumAttrCase, Availability>, 1>>
392 for (const Availability &avail : getAvailabilities(enumerant.getDef()))
396 Availability avail = classCasePair.getValue().front().second;
410 Availability avail = caseSpecPair.second;
439 for (const Availability &avail : getAvailabilities(enumerant.getDef())) {
454 llvm::emitSourceFileHeader("SPIR-V Enum Availability Declarations", os,
486 llvm::emitSourceFileHeader("SPIR-V Enum Availability Definitions", os,
497 // Enum Availability Query Hook Registration
1288 // SPIR-V Availability Impl AutoGen
1295 std::vector<Availability> opAvailabilities =
1302 llvm::StringMap<Availability> availClasses;
1303 for (const Availability &avail : opAvailabilities)
1312 for (const Availability &caseAvail :
1320 Availability avail = availClass.getValue();
1331 for (const Availability &avail : opAvailabilities)
1355 SmallVector<std::pair<EnumAttrCase, Availability>, 1> caseSpecs;
1359 for (const Availability &caseAvail :
1406 llvm::emitSourceFileHeader("SPIR-V Op Availability Implementations", os,
1419 // Op Availability Implementation Hook Registration