Eliminate struct TableGenBackend.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 13 Jun 2012 05:15:49 +0000 (05:15 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Wed, 13 Jun 2012 05:15:49 +0000 (05:15 +0000)
TableGen backends are simply written as functions now.

Patch by Sean Silva!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158389 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/TableGen/TableGenBackend.h
lib/TableGen/TableGenBackend.cpp

index 751a7cf750d30e42a40380dc07ff93c91929c0ff..bedf7fb343af9dae4d626d7a8a419ff873d5d63e 100644 (file)
@@ -1,4 +1,4 @@
-//===- llvm/TableGen/TableGenBackend.h - Backend base class -----*- C++ -*-===//
+//===- llvm/TableGen/TableGenBackend.h - Backend utilities ------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -7,39 +7,21 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// The TableGenBackend class is provided as a common interface for all TableGen
-// backends.  It provides useful services and an standardized interface.
+// Useful utilities for TableGen backends.
 //
 //===----------------------------------------------------------------------===//
 
 #ifndef LLVM_TABLEGEN_TABLEGENBACKEND_H
 #define LLVM_TABLEGEN_TABLEGENBACKEND_H
 
-#include "llvm/Support/raw_ostream.h"
+#include "llvm/ADT/StringRef.h"
 
 namespace llvm {
 
-class Record;
-class RecordKeeper;
-
-struct TableGenBackend {
-  virtual void anchor();
-  virtual ~TableGenBackend() {}
-
-  // run - All TableGen backends should implement the run method, which should
-  // be the main entry point.
-  virtual void run(raw_ostream &OS) = 0;
-
-
-public:   // Useful helper routines...
-  /// EmitSourceFileHeader - Output a LLVM style file header to the specified
-  /// ostream.
-  void EmitSourceFileHeader(StringRef Desc, raw_ostream &OS) const;
-
-};
+class raw_ostream;
 
 /// emitSourceFileHeader - Output a LLVM style file header to the specified
-/// ostream.
+/// raw_ostream.
 void emitSourceFileHeader(StringRef Desc, raw_ostream &OS);
 
 } // End llvm namespace
index 8117250819b7e6b4e9932bb70250df0d08eaaed0..89d3f5e81e7bfa60aa9292cf4541a9790f7d5bd5 100644 (file)
@@ -1,4 +1,4 @@
-//===- TableGenBackend.cpp - Base class for TableGen Backends ---*- C++ -*-===//
+//===- TableGenBackend.cpp - Utilities for TableGen Backends ----*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 //
 //===----------------------------------------------------------------------===//
 
+#include "llvm/Support/raw_ostream.h"
 #include "llvm/TableGen/TableGenBackend.h"
-#include "llvm/TableGen/Record.h"
 using namespace llvm;
 
-void TableGenBackend::anchor() { }
-
-void TableGenBackend::EmitSourceFileHeader(StringRef Desc,
-                                           raw_ostream &OS) const {
-  emitSourceFileHeader(Desc, OS);
-}
-
 void llvm::emitSourceFileHeader(StringRef Desc, raw_ostream &OS) {
   OS << "//===- TableGen'erated file -------------------------------------*-"
        " C++ -*-===//\n//\n// " << Desc << "\n//\n// Automatically generate"