[llvm-commits] CVS: llvm/lib/AsmParser/Lexer.l llvmAsmParser.y

Reid Spencer reid at x10sys.com
Mon Sep 13 16:44:33 PDT 2004



Changes in directory llvm/lib/AsmParser:

Lexer.l updated: 1.52 -> 1.53
llvmAsmParser.y updated: 1.201 -> 1.202
---
Log message:

Add support for the link-time pass list to Modules.


---
Diffs of the changes:  (+17 -1)

Index: llvm/lib/AsmParser/Lexer.l
diff -u llvm/lib/AsmParser/Lexer.l:1.52 llvm/lib/AsmParser/Lexer.l:1.53
--- llvm/lib/AsmParser/Lexer.l:1.52	Sun Jul 25 12:56:00 2004
+++ llvm/lib/AsmParser/Lexer.l	Mon Sep 13 18:44:23 2004
@@ -195,6 +195,7 @@
 target          { return TARGET; }
 triple          { return TRIPLE; }
 deplibs         { return DEPLIBS; }
+passes          { return PASSES; }
 endian          { return ENDIAN; }
 pointersize     { return POINTERSIZE; }
 little          { return LITTLE; }


Index: llvm/lib/AsmParser/llvmAsmParser.y
diff -u llvm/lib/AsmParser/llvmAsmParser.y:1.201 llvm/lib/AsmParser/llvmAsmParser.y:1.202
--- llvm/lib/AsmParser/llvmAsmParser.y:1.201	Wed Sep  1 17:55:35 2004
+++ llvm/lib/AsmParser/llvmAsmParser.y	Mon Sep 13 18:44:23 2004
@@ -910,7 +910,7 @@
 %token DECLARE GLOBAL CONSTANT VOLATILE
 %token TO DOTDOTDOT NULL_TOK CONST INTERNAL LINKONCE WEAK  APPENDING
 %token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG
-%token DEPLIBS
+%token DEPLIBS PASSES
 
 // Basic Block Terminating Operators 
 %token <TermOpVal> RET BR SWITCH INVOKE UNWIND
@@ -1484,6 +1484,8 @@
   }
   | ConstPool DEPLIBS '=' LibrariesDefinition {
   }
+  | ConstPool PASSES '=' PassesDefinition {
+  }
   | /* empty: end of list */ { 
   };
 
@@ -1522,6 +1524,19 @@
         }
         ;
 
+PassesDefinition : '[' PassList ']';
+PassList : PassList ',' STRINGCONSTANT {
+           CurModule.CurrentModule->addLibrary($3);
+           free($3);
+         }
+         | STRINGCONSTANT {
+           CurModule.CurrentModule->addLibrary($1);
+           free($1);
+         }
+         | /* empty: end of list */ {
+         }
+         ;
+
 //===----------------------------------------------------------------------===//
 //                       Rules to match Function Headers
 //===----------------------------------------------------------------------===//






More information about the llvm-commits mailing list