[llvm-commits] CVS: llvm/utils/TableGen/FileLexer.l FileParser.y Record.h

Chris Lattner lattner at cs.uiuc.edu
Wed Jul 30 16:48:01 PDT 2003


Changes in directory llvm/utils/TableGen:

FileLexer.l updated: 1.4 -> 1.5
FileParser.y updated: 1.13 -> 1.14
Record.h updated: 1.14 -> 1.15

---
Log message:

Initial support for the 'code' type.


---
Diffs of the changes:

Index: llvm/utils/TableGen/FileLexer.l
diff -u llvm/utils/TableGen/FileLexer.l:1.4 llvm/utils/TableGen/FileLexer.l:1.5
--- llvm/utils/TableGen/FileLexer.l:1.4	Wed Jul 30 15:56:47 2003
+++ llvm/utils/TableGen/FileLexer.l	Wed Jul 30 16:47:42 2003
@@ -151,6 +151,7 @@
 bits           { return BITS; }
 string         { return STRING; }
 list           { return LIST; }
+code           { return CODE; }
 
 class          { return CLASS; }
 def            { return DEF; }


Index: llvm/utils/TableGen/FileParser.y
diff -u llvm/utils/TableGen/FileParser.y:1.13 llvm/utils/TableGen/FileParser.y:1.14
--- llvm/utils/TableGen/FileParser.y:1.13	Wed Jul 30 15:56:47 2003
+++ llvm/utils/TableGen/FileParser.y	Wed Jul 30 16:47:42 2003
@@ -153,7 +153,7 @@
   std::vector<SubClassRefTy> *SubClassList;
 };
 
-%token INT BIT STRING BITS LIST CLASS DEF FIELD SET IN
+%token INT BIT STRING BITS LIST CODE CLASS DEF FIELD SET IN
 %token <IntVal>      INTVAL
 %token <StrVal>      ID STRVAL
 
@@ -202,6 +202,8 @@
     $$ = new IntRecTy();
   } | LIST '<' ClassID '>' {          // list<x> type
     $$ = new ListRecTy($3);
+  } | CODE {                          // code type
+    $$ = new CodeRecTy();
   } | ClassID {                       // Record Type
     $$ = new RecordRecTy($1);
   };


Index: llvm/utils/TableGen/Record.h
diff -u llvm/utils/TableGen/Record.h:1.14 llvm/utils/TableGen/Record.h:1.15
--- llvm/utils/TableGen/Record.h:1.14	Tue Jul 29 23:56:05 2003
+++ llvm/utils/TableGen/Record.h	Wed Jul 30 16:47:42 2003
@@ -131,6 +131,15 @@
   void print(std::ostream &OS) const;
 };
 
+/// CodeRecTy - 'code' - Represent an code fragment, function or method.
+///
+struct CodeRecTy : public RecTy {
+  Init *convertValue(UnsetInit *UI) { return (Init*)UI; }
+
+  void print(std::ostream &OS) const { OS << "code"; }
+};
+
+
 /// RecordRecTy - '<classname>' - Represent an instance of a class, such as:
 /// (R32 X = EAX).
 ///





More information about the llvm-commits mailing list