From: Chris Lattner Date: Mon, 15 Jan 2007 02:00:29 +0000 (+0000) Subject: allow i1 to operators like shift and add. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=3fa0ba7b320875d617b707868cbc2163b5d6357b;p=oota-llvm.git allow i1 to operators like shift and add. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33221 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 06d4666bb94..2aae3faf6da 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1274,7 +1274,7 @@ Types const llvm::Type* ElemTy = $4->get(); if ((unsigned)$2 != $2) GEN_ERROR("Unsigned result not equal to signed result"); - if (!ElemTy->isFloatingPoint() && !ElemTy->isInteger()) + if (!ElemTy->isFloatingPoint() && !ElemTy->isIntegral()) GEN_ERROR("Element type of a PackedType must be primitive"); if (!isPowerOf2_32($2)) GEN_ERROR("Vector length should be a power of 2!"); @@ -1777,7 +1777,7 @@ ConstExpr: CastOps '(' ConstVal TO Types ')' { | ShiftOps '(' ConstVal ',' ConstVal ')' { if ($5->getType() != Type::Int8Ty) GEN_ERROR("Shift count for shift constant must be i8 type!"); - if (!$3->getType()->isInteger()) + if (!$3->getType()->isIntegral()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; $$ = ConstantExpr::get($1, $3, $5); @@ -2573,7 +2573,7 @@ OptTailCall : TAIL CALL { InstVal : ArithmeticOps Types ValueRef ',' ValueRef { if (!UpRefs.empty()) GEN_ERROR("Invalid upreference in type: " + (*$2)->getDescription()); - if (!(*$2)->isInteger() && !(*$2)->isFloatingPoint() && + if (!(*$2)->isIntegral() && !(*$2)->isFloatingPoint() && !isa((*$2).get())) GEN_ERROR( "Arithmetic operator requires integer, FP, or packed operands!"); @@ -2637,7 +2637,7 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef { | ShiftOps ResolvedVal ',' ResolvedVal { if ($4->getType() != Type::Int8Ty) GEN_ERROR("Shift amount must be i8 type!"); - if (!$2->getType()->isInteger()) + if (!$2->getType()->isIntegral()) GEN_ERROR("Shift constant expression requires integer operand!"); CHECK_FOR_ERROR; $$ = new ShiftInst($1, $2, $4);