From 9c6b60eb28d2717008f8d6ff52f7666ebc81113d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 15 Dec 2010 04:48:22 +0000 Subject: various cleanups to tblgen, patch by Garrison Venn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121837 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/AsmMatcherEmitter.cpp | 14 +++++--------- utils/TableGen/CodeGenTarget.cpp | 2 +- utils/TableGen/LLVMCConfigurationEmitter.h | 2 +- utils/TableGen/Record.h | 12 +++--------- utils/TableGen/TGParser.cpp | 11 ++++++----- utils/TableGen/TGParser.h | 4 ++-- utils/TableGen/TableGen.cpp | 2 +- 7 files changed, 19 insertions(+), 28 deletions(-) (limited to 'utils') diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 4fcd3e211b..48766d1c4d 100644 --- a/utils/TableGen/AsmMatcherEmitter.cpp +++ b/utils/TableGen/AsmMatcherEmitter.cpp @@ -493,7 +493,7 @@ struct SubtargetFeatureInfo { class AsmMatcherInfo { public: /// Tracked Records - RecordKeeper& Records; + RecordKeeper &Records; /// The tablegen AsmParser record. Record *AsmParser; @@ -551,7 +551,7 @@ private: public: AsmMatcherInfo(Record *AsmParser, CodeGenTarget &Target, - RecordKeeper& Records); + RecordKeeper &Records); /// BuildInfo - Construct the various tables used during matching. void BuildInfo(); @@ -565,12 +565,8 @@ public: return I == SubtargetFeatures.end() ? 0 : I->second; } - RecordKeeper& getRecords() { - return(Records); - } - - RecordKeeper& getRecords() const { - return(Records); + RecordKeeper &getRecords() const { + return Records; } }; @@ -1004,7 +1000,7 @@ void AsmMatcherInfo::BuildOperandClasses() { AsmMatcherInfo::AsmMatcherInfo(Record *asmParser, CodeGenTarget &target, - RecordKeeper& records) + RecordKeeper &records) : Records(records), AsmParser(asmParser), Target(target), RegisterPrefix(AsmParser->getValueAsString("RegisterPrefix")) { } diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 69c55b81a4..13e44803e5 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -108,7 +108,7 @@ std::string llvm::getQualifiedName(const Record *R) { /// getTarget - Return the current instance of the Target class. /// -CodeGenTarget::CodeGenTarget(RecordKeeper& records) : Records(records) { +CodeGenTarget::CodeGenTarget(RecordKeeper &records) : Records(records) { std::vector Targets = Records.getAllDerivedDefinitions("Target"); if (Targets.size() == 0) throw std::string("ERROR: No 'Target' subclasses defined!"); diff --git a/utils/TableGen/LLVMCConfigurationEmitter.h b/utils/TableGen/LLVMCConfigurationEmitter.h index d7e4371ca2..0f2ff37196 100644 --- a/utils/TableGen/LLVMCConfigurationEmitter.h +++ b/utils/TableGen/LLVMCConfigurationEmitter.h @@ -23,7 +23,7 @@ namespace llvm { class LLVMCConfigurationEmitter : public TableGenBackend { RecordKeeper &Records; public: - explicit LLVMCConfigurationEmitter(RecordKeeper& records) : + explicit LLVMCConfigurationEmitter(RecordKeeper &records) : Records(records) {} // run - Output the asmwriter, returning true on failure. diff --git a/utils/TableGen/Record.h b/utils/TableGen/Record.h index f8873cf43c..307594f8ec 100644 --- a/utils/TableGen/Record.h +++ b/utils/TableGen/Record.h @@ -1236,8 +1236,8 @@ class Record { public: - // Constructs a record. See also RecordKeeper::createRecord. - explicit Record(const std::string &N, SMLoc loc, RecordKeeper& records) : + // Constructs a record. + explicit Record(const std::string &N, SMLoc loc, RecordKeeper &records) : ID(LastID++), Name(N), Loc(loc), TrackedRecords(records) {} ~Record() {} @@ -1324,7 +1324,7 @@ public: void resolveReferencesTo(const RecordVal *RV); RecordKeeper &getRecords() const { - return(TrackedRecords); + return TrackedRecords; } void dump() const; @@ -1466,12 +1466,6 @@ public: std::vector getAllDerivedDefinitions(const std::string &ClassName) const; - // allocates and returns a record. - Record *createRecord(const std::string &N, SMLoc loc) { - return(new Record(N, loc, *this)); - } - - void dump() const; }; diff --git a/utils/TableGen/TGParser.cpp b/utils/TableGen/TGParser.cpp index 57e9f83339..d0a474958c 100644 --- a/utils/TableGen/TGParser.cpp +++ b/utils/TableGen/TGParser.cpp @@ -1096,8 +1096,9 @@ Init *TGParser::ParseSimpleValue(Record *CurRec, RecTy *ItemType) { // Create the new record, set it as CurRec temporarily. static unsigned AnonCounter = 0; - Record *NewRec = Records.createRecord( - "anonymous.val."+utostr(AnonCounter++),NameLoc); + Record *NewRec = new Record("anonymous.val."+utostr(AnonCounter++), + NameLoc, + Records); SubClassReference SCRef; SCRef.RefLoc = NameLoc; SCRef.Rec = Class; @@ -1661,7 +1662,7 @@ bool TGParser::ParseDef(MultiClass *CurMultiClass) { Lex.Lex(); // Eat the 'def' token. // Parse ObjectName and make a record for it. - Record *CurRec = Records.createRecord(ParseObjectName(), DefLoc); + Record *CurRec = new Record(ParseObjectName(), DefLoc, Records); if (!CurMultiClass) { // Top-level def definition. @@ -1728,7 +1729,7 @@ bool TGParser::ParseClass() { return TokError("Class '" + CurRec->getName() + "' already defined"); } else { // If this is the first reference to this class, create and add it. - CurRec = Records.createRecord(Lex.getCurStrVal(), Lex.getLoc()); + CurRec = new Record(Lex.getCurStrVal(), Lex.getLoc(), Records); Records.addClass(CurRec); } Lex.Lex(); // eat the name. @@ -1975,7 +1976,7 @@ bool TGParser::ParseDefm(MultiClass *CurMultiClass) { } } - Record *CurRec = Records.createRecord(DefName, DefmPrefixLoc); + Record *CurRec = new Record(DefName, DefmPrefixLoc, Records); SubClassReference Ref; Ref.RefLoc = DefmPrefixLoc; diff --git a/utils/TableGen/TGParser.h b/utils/TableGen/TGParser.h index 0c74bbfc7e..9cdf68ff97 100644 --- a/utils/TableGen/TGParser.h +++ b/utils/TableGen/TGParser.h @@ -50,9 +50,9 @@ class TGParser { MultiClass *CurMultiClass; // Record tracker - RecordKeeper& Records; + RecordKeeper &Records; public: - TGParser(SourceMgr &SrcMgr, RecordKeeper& records) : + TGParser(SourceMgr &SrcMgr, RecordKeeper &records) : Lex(SrcMgr), CurMultiClass(0), Records(records) {} /// ParseFile - Main entrypoint for parsing a tblgen file. These parser diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp index 50543781ec..ab724af7d7 100644 --- a/utils/TableGen/TableGen.cpp +++ b/utils/TableGen/TableGen.cpp @@ -186,7 +186,7 @@ void llvm::PrintError(SMLoc ErrorLoc, const Twine &Msg) { static bool ParseFile(const std::string &Filename, const std::vector &IncludeDirs, SourceMgr &SrcMgr, - RecordKeeper& Records) { + RecordKeeper &Records) { error_code ec; MemoryBuffer *F = MemoryBuffer::getFileOrSTDIN(Filename.c_str(), ec); if (F == 0) { -- cgit v1.2.3