diff options
| author | Chris Lattner <sabre@nondot.org> | 2001-10-20 09:32:59 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2001-10-20 09:32:59 +0000 | 
| commit | c27b1d7bf39311f78c95ca49a5e26e804a0628bb (patch) | |
| tree | 17eb487d36a7b755c0440155c88882ef8c78c963 /llvm/lib/AsmParser | |
| parent | f96ef663e02de1240f17b9e06aa1da095c8d919d (diff) | |
| download | bcm5719-llvm-c27b1d7bf39311f78c95ca49a5e26e804a0628bb.tar.gz bcm5719-llvm-c27b1d7bf39311f78c95ca49a5e26e804a0628bb.zip | |
Add support for And, XOR, and Or
llvm-svn: 924
Diffstat (limited to 'llvm/lib/AsmParser')
| -rw-r--r-- | llvm/lib/AsmParser/Lexer.l | 3 | ||||
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 5 | 
2 files changed, 6 insertions, 2 deletions
| diff --git a/llvm/lib/AsmParser/Lexer.l b/llvm/lib/AsmParser/Lexer.l index 5bbe672882a..e9996b28295 100644 --- a/llvm/lib/AsmParser/Lexer.l +++ b/llvm/lib/AsmParser/Lexer.l @@ -162,6 +162,9 @@ sub             { RET_TOK(BinaryOpVal, Sub, SUB); }  mul             { RET_TOK(BinaryOpVal, Mul, MUL); }  div             { RET_TOK(BinaryOpVal, Div, DIV); }  rem             { RET_TOK(BinaryOpVal, Rem, REM); } +and             { RET_TOK(BinaryOpVal, And, AND); } +or              { RET_TOK(BinaryOpVal, Or , OR ); } +xor             { RET_TOK(BinaryOpVal, Xor, XOR); }  setne           { RET_TOK(BinaryOpVal, SetNE, SETNE); }  seteq           { RET_TOK(BinaryOpVal, SetEQ, SETEQ); }  setlt           { RET_TOK(BinaryOpVal, SetLT, SETLT); } diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y index e5fad6c1865..128d4797758 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y +++ b/llvm/lib/AsmParser/llvmAsmParser.y @@ -195,6 +195,7 @@ static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) {      // Check that the number is within bounds...      if (Num <= CurMeth.Types.size())        return CurMeth.Types[Num]; +    break;    }    case 1: {                // Is it a named definition?      string Name(D.Name); @@ -716,7 +717,7 @@ Module *RunVMAsmParser(const string &Filename, FILE *F) {  // Binary Operators   %type  <BinaryOpVal> BinaryOps  // all the binary operators -%token <BinaryOpVal> ADD SUB MUL DIV REM +%token <BinaryOpVal> ADD SUB MUL DIV REM AND OR XOR  %token <BinaryOpVal> SETLE SETGE SETLT SETGT SETEQ SETNE  // Binary Comarators  // Memory Instructions @@ -751,7 +752,7 @@ EINT64VAL : EUINT64VAL {  // RET, BR, & SWITCH because they end basic blocks and are treated specially.  //  UnaryOps  : NOT -BinaryOps : ADD | SUB | MUL | DIV | REM +BinaryOps : ADD | SUB | MUL | DIV | REM | AND | OR | XOR  BinaryOps : SETLE | SETGE | SETLT | SETGT | SETEQ | SETNE  ShiftOps  : SHL | SHR | 

