diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-04-08 01:18:56 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-04-08 01:18:56 +0000 |
| commit | 9ff96a70f2c803b7717b228a1765ecf6da77d22e (patch) | |
| tree | 2d0b0f66ddfdfba4cef4b9d7017796c4dc4670fc /llvm/lib/AsmParser/llvmAsmParser.y.cvs | |
| parent | 8ec3c2e31f2f036457207b09955ea4ecdd087609 (diff) | |
| download | bcm5719-llvm-9ff96a70f2c803b7717b228a1765ecf6da77d22e.tar.gz bcm5719-llvm-9ff96a70f2c803b7717b228a1765ecf6da77d22e.zip | |
regenerate
llvm-svn: 27512
Diffstat (limited to 'llvm/lib/AsmParser/llvmAsmParser.y.cvs')
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y.cvs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/llvm/lib/AsmParser/llvmAsmParser.y.cvs b/llvm/lib/AsmParser/llvmAsmParser.y.cvs index 8a96521e4b1..fd84eae56bb 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y.cvs +++ b/llvm/lib/AsmParser/llvmAsmParser.y.cvs @@ -107,8 +107,8 @@ static struct PerModuleInfo { } // Look for intrinsic functions and CallInst that need to be upgraded - for (Module::iterator FI = CurrentModule->begin(),FE = CurrentModule->end(); - FI != FE; ) + for (Module::iterator FI = CurrentModule->begin(), + FE = CurrentModule->end(); FI != FE; ) UpgradeCallsToIntrinsic(FI++); Values.clear(); // Clear out function local definitions @@ -998,7 +998,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) { // Other Operators %type <OtherOpVal> ShiftOps %token <OtherOpVal> PHI_TOK CAST SELECT SHL SHR VAARG -%token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT +%token <OtherOpVal> EXTRACTELEMENT INSERTELEMENT SHUFFLEVECTOR %token VAARG_old VANEXT_old //OBSOLETE @@ -2260,6 +2260,11 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { ThrowException("Third operand of insertelement must be uint!"); $$ = new InsertElementInst($2, $4, $6); } + | SHUFFLEVECTOR ResolvedVal ',' ResolvedVal ',' ResolvedVal { + if (!ShuffleVectorInst::isValidOperands($2, $4, $6)) + ThrowException("Invalid shufflevector operands!"); + $$ = new ShuffleVectorInst($2, $4, $6); + } | PHI_TOK PHIList { const Type *Ty = $2->front().first->getType(); if (!Ty->isFirstClassType()) |

