1+ // ===- DirectiveEmitter.h - Directive Language Emitter ----------*- 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+ // DirectiveEmitter uses the descriptions of directives and clauses to construct
10+ // common code declarations to be used in Frontends.
11+ //
12+ // ===----------------------------------------------------------------------===//
13+
114#ifndef LLVM_TABLEGEN_DIRECTIVEEMITTER_H
215#define LLVM_TABLEGEN_DIRECTIVEEMITTER_H
316
@@ -15,8 +28,7 @@ namespace llvm {
1528// DirectiveBase.td and provides helper methods for accessing it.
1629class DirectiveLanguage {
1730public:
18- explicit DirectiveLanguage (const llvm::RecordKeeper &Records)
19- : Records(Records) {
31+ explicit DirectiveLanguage (const RecordKeeper &Records) : Records(Records) {
2032 const auto &DirectiveLanguages = getDirectiveLanguages ();
2133 Def = DirectiveLanguages[0 ];
2234 }
@@ -70,8 +82,8 @@ class DirectiveLanguage {
7082 bool HasValidityErrors () const ;
7183
7284private:
73- const llvm:: Record *Def;
74- const llvm:: RecordKeeper &Records;
85+ const Record *Def;
86+ const RecordKeeper &Records;
7587
7688 ArrayRef<const Record *> getDirectiveLanguages () const {
7789 return Records.getAllDerivedDefinitions (" DirectiveLanguage" );
@@ -82,7 +94,7 @@ class DirectiveLanguage {
8294// DirectiveBase.td.
8395class BaseRecord {
8496public:
85- explicit BaseRecord (const llvm:: Record *Def) : Def(Def) {}
97+ explicit BaseRecord (const Record *Def) : Def(Def) {}
8698
8799 StringRef getName () const { return Def->getValueAsString (" name" ); }
88100
@@ -105,14 +117,14 @@ class BaseRecord {
105117 StringRef getRecordName () const { return Def->getName (); }
106118
107119protected:
108- const llvm:: Record *Def;
120+ const Record *Def;
109121};
110122
111123// Wrapper class that contains a Directive's information defined in
112124// DirectiveBase.td and provides helper methods for accessing it.
113125class Directive : public BaseRecord {
114126public:
115- explicit Directive (const llvm:: Record *Def) : BaseRecord(Def) {}
127+ explicit Directive (const Record *Def) : BaseRecord(Def) {}
116128
117129 std::vector<Record *> getAllowedClauses () const {
118130 return Def->getValueAsListOfDefs (" allowedClauses" );
@@ -143,7 +155,7 @@ class Directive : public BaseRecord {
143155// and provides helper methods for accessing it.
144156class Clause : public BaseRecord {
145157public:
146- explicit Clause (const llvm:: Record *Def) : BaseRecord(Def) {}
158+ explicit Clause (const Record *Def) : BaseRecord(Def) {}
147159
148160 // Optional field.
149161 StringRef getClangClass () const {
@@ -166,14 +178,14 @@ class Clause : public BaseRecord {
166178 bool Cap = true ;
167179 std::transform (N.begin (), N.end (), N.begin (), [&Cap](unsigned char C) {
168180 if (Cap == true ) {
169- C = llvm:: toUpper (C);
181+ C = toUpper (C);
170182 Cap = false ;
171183 } else if (C == ' _' ) {
172184 Cap = true ;
173185 }
174186 return C;
175187 });
176- llvm:: erase (N, ' _' );
188+ erase (N, ' _' );
177189 return N;
178190 }
179191
@@ -211,7 +223,7 @@ class Clause : public BaseRecord {
211223// DirectiveBase.td and provides helper methods for accessing it.
212224class VersionedClause {
213225public:
214- explicit VersionedClause (const llvm:: Record *Def) : Def(Def) {}
226+ explicit VersionedClause (const Record *Def) : Def(Def) {}
215227
216228 // Return the specific clause record wrapped in the Clause class.
217229 Clause getClause () const { return Clause{Def->getValueAsDef (" clause" )}; }
@@ -221,12 +233,12 @@ class VersionedClause {
221233 int64_t getMaxVersion () const { return Def->getValueAsInt (" maxVersion" ); }
222234
223235private:
224- const llvm:: Record *Def;
236+ const Record *Def;
225237};
226238
227239class ClauseVal : public BaseRecord {
228240public:
229- explicit ClauseVal (const llvm:: Record *Def) : BaseRecord(Def) {}
241+ explicit ClauseVal (const Record *Def) : BaseRecord(Def) {}
230242
231243 int getValue () const { return Def->getValueAsInt (" value" ); }
232244
@@ -235,4 +247,4 @@ class ClauseVal : public BaseRecord {
235247
236248} // namespace llvm
237249
238- #endif
250+ #endif // LLVM_TABLEGEN_DIRECTIVEEMITTER_H
0 commit comments