diff options
author | Chris Lattner <sabre@nondot.org> | 2003-09-08 18:54:55 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-09-08 18:54:55 +0000 |
commit | 36143fc4440ac1fc2a0fc95a4999bcadc3ec207d (patch) | |
tree | 8e8d7c349a476eb4d2997258e6e3405fa0e2a994 /lib/AsmParser | |
parent | a6ce898dad724380b1444f664f8e422ba1e746d0 (diff) | |
download | external_llvm-36143fc4440ac1fc2a0fc95a4999bcadc3ec207d.zip external_llvm-36143fc4440ac1fc2a0fc95a4999bcadc3ec207d.tar.gz external_llvm-36143fc4440ac1fc2a0fc95a4999bcadc3ec207d.tar.bz2 |
Add support for the unwind instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8408 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser')
-rw-r--r-- | lib/AsmParser/Lexer.l | 1 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index a156629..6e69262 100644 --- a/lib/AsmParser/Lexer.l +++ b/lib/AsmParser/Lexer.l @@ -229,6 +229,7 @@ ret { RET_TOK(TermOpVal, Ret, RET); } br { RET_TOK(TermOpVal, Br, BR); } switch { RET_TOK(TermOpVal, Switch, SWITCH); } invoke { RET_TOK(TermOpVal, Invoke, INVOKE); } +unwind { RET_TOK(TermOpVal, Unwind, UNWIND); } malloc { RET_TOK(MemOpVal, Malloc, MALLOC); } diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 6971ebe..930f1aa 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -701,7 +701,7 @@ Module *RunVMAsmParser(const std::string &Filename, FILE *F) { %token OPAQUE NOT EXTERNAL TARGET ENDIAN POINTERSIZE LITTLE BIG // Basic Block Terminating Operators -%token <TermOpVal> RET BR SWITCH +%token <TermOpVal> RET BR SWITCH INVOKE UNWIND // Binary Operators %type <BinaryOpVal> BinaryOps // all the binary operators @@ -714,7 +714,7 @@ Module *RunVMAsmParser(const std::string &Filename, FILE *F) { // Other Operators %type <OtherOpVal> ShiftOps -%token <OtherOpVal> PHI CALL INVOKE CAST SHL SHR VA_ARG +%token <OtherOpVal> PHI CALL CAST SHL SHR VA_ARG %start Module %% @@ -1535,6 +1535,9 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result... $$ = new InvokeInst(V, Normal, Except, *$5); } delete $5; + } + | UNWIND { + $$ = new UnwindInst(); }; |