summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/llvmAsmParser.y.cvs
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-04-08 01:18:56 +0000
committerChris Lattner <sabre@nondot.org>2006-04-08 01:18:56 +0000
commit9ff96a70f2c803b7717b228a1765ecf6da77d22e (patch)
tree2d0b0f66ddfdfba4cef4b9d7017796c4dc4670fc /llvm/lib/AsmParser/llvmAsmParser.y.cvs
parent8ec3c2e31f2f036457207b09955ea4ecdd087609 (diff)
downloadbcm5719-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.cvs11
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())
OpenPOWER on IntegriCloud