Add insertelement and shufflevector constantexpr support

llvm-svn: 27520
This commit is contained in:
Chris Lattner 2006-04-08 03:53:34 +00:00
parent 8ac5062646
commit 8c32ad0040
1 changed files with 9 additions and 0 deletions

View File

@ -1547,8 +1547,17 @@ ConstExpr: CAST '(' ConstVal TO Types ')' {
if ($5->getType() != Type::UIntTy)
ThrowException("Second operand of extractelement must be uint!");
$$ = ConstantExpr::getExtractElement($3, $5);
}
| INSERTELEMENT '(' ConstVal ',' ConstVal ',' ConstVal ')' {
$$ = ConstantExpr::getInsertElement($3, $5, $7);
}
| SHUFFLEVECTOR '(' ConstVal ',' ConstVal ',' ConstVal ')' {
if (!ShuffleVectorInst::isValidOperands($3, $5, $7))
ThrowException("Invalid shufflevector operands!");
$$ = ConstantExpr::getShuffleVector($3, $5, $7);
};
// ConstVector - A list of comma separated constants.
ConstVector : ConstVector ',' ConstVal {
($$ = $1)->push_back($3);