-/* A Bison parser, made from /llvm/lib/AsmParser/llvmAsmParser.y
+/* A Bison parser, made from /Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y
by GNU Bison version 1.28 */
#define YYBISON 1 /* Identify Bison output. */
#define VAARG_old 347
#define VANEXT_old 348
-#line 14 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
}
-#line 866 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 866 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
typedef union {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
1868, 1882, 1886, 1939, 1942, 1948, 1956, 1966, 1973, 1978,
1985, 1989, 1995, 1995, 1997, 2000, 2006, 2018, 2026, 2036,
2048, 2055, 2062, 2069, 2074, 2093, 2115, 2129, 2186, 2192,
- 2194, 2198, 2201, 2207, 2211, 2215, 2219, 2223, 2227, 2231,
- 2235, 2239, 2246, 2256, 2269
+ 2194, 2198, 2201, 2207, 2211, 2218, 2222, 2229, 2233, 2240,
+ 2244, 2251, 2258, 2268, 2281
};
#endif
switch (yyn) {
case 2:
-#line 984 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 984 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[0].UIntVal > (uint32_t)INT32_MAX) // Outside of my range!
ThrowException("Value too large for type!");
;
break;}
case 4:
-#line 992 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 992 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[0].UInt64Val > (uint64_t)INT64_MAX) // Outside of my range!
ThrowException("Value too large for type!");
;
break;}
case 33:
-#line 1015 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1015 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.StrVal = yyvsp[-1].StrVal;
;
break;}
case 34:
-#line 1018 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1018 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.StrVal = 0;
;
break;}
case 35:
-#line 1022 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1022 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Linkage = GlobalValue::InternalLinkage; ;
break;}
case 36:
-#line 1023 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1023 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Linkage = GlobalValue::LinkOnceLinkage; ;
break;}
case 37:
-#line 1024 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1024 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Linkage = GlobalValue::WeakLinkage; ;
break;}
case 38:
-#line 1025 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1025 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Linkage = GlobalValue::AppendingLinkage; ;
break;}
case 39:
-#line 1026 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1026 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Linkage = GlobalValue::ExternalLinkage; ;
break;}
case 40:
-#line 1028 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1028 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.UIntVal = CallingConv::C; ;
break;}
case 41:
-#line 1029 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1029 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.UIntVal = CallingConv::C; ;
break;}
case 42:
-#line 1030 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1030 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.UIntVal = CallingConv::Fast; ;
break;}
case 43:
-#line 1031 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1031 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.UIntVal = CallingConv::Cold; ;
break;}
case 44:
-#line 1032 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1032 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if ((unsigned)yyvsp[0].UInt64Val != yyvsp[0].UInt64Val)
ThrowException("Calling conv too large!");
;
break;}
case 46:
-#line 1045 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1045 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
break;}
case 48:
-#line 1046 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1046 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType); ;
break;}
case 49:
-#line 1048 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1048 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
ThrowException("Invalid upreference in type: " + (*yyvsp[0].TypeVal)->getDescription());
;
break;}
case 63:
-#line 1059 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1059 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TypeVal = new PATypeHolder(OpaqueType::get());
;
break;}
case 64:
-#line 1062 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1062 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TypeVal = new PATypeHolder(yyvsp[0].PrimType);
;
break;}
case 65:
-#line 1065 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1065 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Named types are also simple types...
yyval.TypeVal = new PATypeHolder(getTypeVal(yyvsp[0].ValIDVal));
;
break;}
case 66:
-#line 1071 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1071 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Type UpReference
if (yyvsp[0].UInt64Val > (uint64_t)~0U) ThrowException("Value out of range!");
OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
;
break;}
case 67:
-#line 1078 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1078 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Function derived type?
std::vector<const Type*> Params;
for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
;
break;}
case 68:
-#line 1090 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1090 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
yyval.TypeVal = new PATypeHolder(HandleUpRefs(ArrayType::get(*yyvsp[-1].TypeVal, (unsigned)yyvsp[-3].UInt64Val)));
delete yyvsp[-1].TypeVal;
;
break;}
case 69:
-#line 1094 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1094 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Packed array type?
const llvm::Type* ElemTy = yyvsp[-1].TypeVal->get();
if ((unsigned)yyvsp[-3].UInt64Val != yyvsp[-3].UInt64Val) {
;
break;}
case 70:
-#line 1105 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1105 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = yyvsp[-1].TypeList->begin(),
;
break;}
case 71:
-#line 1114 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1114 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
yyval.TypeVal = new PATypeHolder(StructType::get(std::vector<const Type*>()));
;
break;}
case 72:
-#line 1117 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1117 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Pointer type?
yyval.TypeVal = new PATypeHolder(HandleUpRefs(PointerType::get(*yyvsp[-1].TypeVal)));
delete yyvsp[-1].TypeVal;
;
break;}
case 73:
-#line 1125 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1125 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TypeList = new std::list<PATypeHolder>();
yyval.TypeList->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
;
break;}
case 74:
-#line 1129 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1129 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList=yyvsp[-2].TypeList)->push_back(*yyvsp[0].TypeVal); delete yyvsp[0].TypeVal;
;
break;}
case 76:
-#line 1135 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1135 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList=yyvsp[-2].TypeList)->push_back(Type::VoidTy);
;
break;}
case 77:
-#line 1138 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1138 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList = new std::list<PATypeHolder>())->push_back(Type::VoidTy);
;
break;}
case 78:
-#line 1141 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1141 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TypeList = new std::list<PATypeHolder>();
;
break;}
case 79:
-#line 1151 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-3].TypeVal->get());
if (ATy == 0)
;
break;}
case 80:
-#line 1176 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1176 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
if (ATy == 0)
;
break;}
case 81:
-#line 1189 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1189 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const ArrayType *ATy = dyn_cast<ArrayType>(yyvsp[-2].TypeVal->get());
if (ATy == 0)
;
break;}
case 82:
-#line 1217 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1217 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
const PackedType *PTy = dyn_cast<PackedType>(yyvsp[-3].TypeVal->get());
if (PTy == 0)
;
break;}
case 83:
-#line 1242 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1242 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>(yyvsp[-3].TypeVal->get());
if (STy == 0)
;
break;}
case 84:
-#line 1262 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1262 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>(yyvsp[-2].TypeVal->get());
if (STy == 0)
;
break;}
case 85:
-#line 1274 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1274 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const PointerType *PTy = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
if (PTy == 0)
;
break;}
case 86:
-#line 1283 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1283 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ConstVal = UndefValue::get(yyvsp[-1].TypeVal->get());
delete yyvsp[-1].TypeVal;
;
break;}
case 87:
-#line 1287 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1287 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const PointerType *Ty = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
if (Ty == 0)
;
break;}
case 88:
-#line 1346 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1346 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-1].TypeVal->get() != yyvsp[0].ConstVal->getType())
ThrowException("Mismatched types for constant expression!");
;
break;}
case 89:
-#line 1352 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1352 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = yyvsp[-1].TypeVal->get();
if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
;
break;}
case 90:
-#line 1360 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1360 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantSInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].SInt64Val))
ThrowException("Constant value doesn't fit in type!");
;
break;}
case 91:
-#line 1365 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1365 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantUInt::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].UInt64Val))
ThrowException("Constant value doesn't fit in type!");
;
break;}
case 92:
-#line 1370 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1370 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
yyval.ConstVal = ConstantBool::True;
;
break;}
case 93:
-#line 1373 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1373 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
yyval.ConstVal = ConstantBool::False;
;
break;}
case 94:
-#line 1376 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1376 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Float & Double constants
if (!ConstantFP::isValueValidForType(yyvsp[-1].PrimType, yyvsp[0].FPVal))
ThrowException("Floating point constant invalid for type!!");
;
break;}
case 95:
-#line 1383 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1383 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!yyvsp[-3].ConstVal->getType()->isFirstClassType())
ThrowException("cast constant expression from a non-primitive type: '" +
;
break;}
case 96:
-#line 1393 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1393 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>(yyvsp[-2].ConstVal->getType()))
ThrowException("GetElementPtr requires a pointer operand!");
;
break;}
case 97:
-#line 1424 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1424 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-5].ConstVal->getType() != Type::BoolTy)
ThrowException("Select condition must be of boolean type!");
;
break;}
case 98:
-#line 1431 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1431 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
ThrowException("Binary operator types must match!");
;
break;}
case 99:
-#line 1452 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1452 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
ThrowException("Logical operator types must match!");
;
break;}
case 100:
-#line 1459 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1459 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-3].ConstVal->getType() != yyvsp[-1].ConstVal->getType())
ThrowException("setcc operand types must match!");
;
break;}
case 101:
-#line 1464 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1464 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-1].ConstVal->getType() != Type::UByteTy)
ThrowException("Shift count for shift constant must be unsigned byte!");
;
break;}
case 102:
-#line 1474 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1474 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector = yyvsp[-2].ConstVector)->push_back(yyvsp[0].ConstVal);
;
break;}
case 103:
-#line 1477 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1477 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ConstVector = new std::vector<Constant*>();
yyval.ConstVector->push_back(yyvsp[0].ConstVal);
;
break;}
case 104:
-#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1484 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.BoolVal = false; ;
break;}
case 105:
-#line 1484 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1484 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.BoolVal = true; ;
break;}
case 106:
-#line 1494 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1494 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ModuleVal = ParserResult = yyvsp[0].ModuleVal;
CurModule.ModuleDone();
;
break;}
case 107:
-#line 1501 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1501 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ModuleVal = yyvsp[-1].ModuleVal;
CurFun.FunctionDone();
;
break;}
case 108:
-#line 1505 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1505 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ModuleVal = yyvsp[-1].ModuleVal;
;
break;}
case 109:
-#line 1508 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1508 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ModuleVal = yyvsp[-1].ModuleVal;
;
break;}
case 110:
-#line 1511 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1511 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ModuleVal = CurModule.CurrentModule;
// Emit an error if there are any unresolved types left.
;
break;}
case 111:
-#line 1524 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1524 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Eagerly resolve types. This is not an optimization, this is a
// requirement that is due to the fact that we could have this:
;
break;}
case 112:
-#line 1544 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1544 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Function prototypes can be in const pool
;
break;}
case 113:
-#line 1546 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1546 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[0].ConstVal == 0) ThrowException("Global value initializer is not a constant!");
ParseGlobalVariable(yyvsp[-3].StrVal, yyvsp[-2].Linkage, yyvsp[-1].BoolVal, yyvsp[0].ConstVal->getType(), yyvsp[0].ConstVal);
;
break;}
case 114:
-#line 1550 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1550 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
ParseGlobalVariable(yyvsp[-3].StrVal, GlobalValue::ExternalLinkage, yyvsp[-1].BoolVal, *yyvsp[0].TypeVal, 0);
delete yyvsp[0].TypeVal;
;
break;}
case 115:
-#line 1554 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1554 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
;
break;}
case 116:
-#line 1556 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1556 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
;
break;}
case 117:
-#line 1558 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1558 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
;
break;}
case 118:
-#line 1563 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1563 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Endianness = Module::BigEndian; ;
break;}
case 119:
-#line 1564 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1564 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.Endianness = Module::LittleEndian; ;
break;}
case 120:
-#line 1566 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1566 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setEndianness(yyvsp[0].Endianness);
;
break;}
case 121:
-#line 1569 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1569 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[0].UInt64Val == 32)
CurModule.CurrentModule->setPointerSize(Module::Pointer32);
;
break;}
case 122:
-#line 1577 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1577 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple(yyvsp[0].StrVal);
free(yyvsp[0].StrVal);
;
break;}
case 124:
-#line 1584 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1584 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
free(yyvsp[0].StrVal);
;
break;}
case 125:
-#line 1588 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1588 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary(yyvsp[0].StrVal);
free(yyvsp[0].StrVal);
;
break;}
case 126:
-#line 1592 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1592 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
;
break;}
case 130:
-#line 1601 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1601 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.StrVal = 0; ;
break;}
case 131:
-#line 1603 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1603 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (*yyvsp[-1].TypeVal == Type::VoidTy)
ThrowException("void typed arguments are invalid!");
;
break;}
case 132:
-#line 1609 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1609 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ArgList = yyvsp[-2].ArgList;
yyvsp[-2].ArgList->push_back(*yyvsp[0].ArgVal);
;
break;}
case 133:
-#line 1614 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1614 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();
yyval.ArgList->push_back(*yyvsp[0].ArgVal);
;
break;}
case 134:
-#line 1620 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1620 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ArgList = yyvsp[0].ArgList;
;
break;}
case 135:
-#line 1623 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1623 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ArgList = yyvsp[-2].ArgList;
yyval.ArgList->push_back(std::pair<PATypeHolder*,
;
break;}
case 136:
-#line 1628 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1628 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ArgList = new std::vector<std::pair<PATypeHolder*,char*> >();
yyval.ArgList->push_back(std::make_pair(new PATypeHolder(Type::VoidTy), (char*)0));
;
break;}
case 137:
-#line 1632 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1632 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ArgList = 0;
;
break;}
case 138:
-#line 1636 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1636 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
UnEscapeLexed(yyvsp[-3].StrVal);
std::string FunctionName(yyvsp[-3].StrVal);
;
break;}
case 141:
-#line 1718 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1718 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.FunctionVal = CurFun.CurrentFunction;
;
break;}
case 144:
-#line 1728 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1728 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.FunctionVal = yyvsp[-1].FunctionVal;
;
break;}
case 145:
-#line 1732 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1732 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;
break;}
case 146:
-#line 1732 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1732 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.FunctionVal = CurFun.CurrentFunction;
CurFun.FunctionDone();
;
break;}
case 147:
-#line 1741 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1741 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
yyval.ValIDVal = ValID::create(yyvsp[0].SInt64Val);
;
break;}
case 148:
-#line 1744 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1744 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValIDVal = ValID::create(yyvsp[0].UInt64Val);
;
break;}
case 149:
-#line 1747 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1747 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
yyval.ValIDVal = ValID::create(yyvsp[0].FPVal);
;
break;}
case 150:
-#line 1750 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1750 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValIDVal = ValID::create(ConstantBool::True);
;
break;}
case 151:
-#line 1753 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1753 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValIDVal = ValID::create(ConstantBool::False);
;
break;}
case 152:
-#line 1756 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1756 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValIDVal = ValID::createNull();
;
break;}
case 153:
-#line 1759 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1759 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValIDVal = ValID::createUndef();
;
break;}
case 154:
-#line 1762 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1762 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*yyvsp[-1].ConstVector)[0]->getType();
int NumElements = yyvsp[-1].ConstVector->size();
;
break;}
case 155:
-#line 1786 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1786 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValIDVal = ValID::create(yyvsp[0].ConstVal);
;
break;}
case 156:
-#line 1793 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1793 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
yyval.ValIDVal = ValID::create(yyvsp[0].SIntVal);
;
break;}
case 157:
-#line 1796 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1796 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
yyval.ValIDVal = ValID::create(yyvsp[0].StrVal);
;
break;}
case 160:
-#line 1807 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1807 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValueVal = getVal(*yyvsp[-1].TypeVal, yyvsp[0].ValIDVal); delete yyvsp[-1].TypeVal;
;
break;}
case 161:
-#line 1811 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1811 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.FunctionVal = yyvsp[-1].FunctionVal;
;
break;}
case 162:
-#line 1814 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1814 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
yyval.FunctionVal = yyvsp[-1].FunctionVal;
;
break;}
case 163:
-#line 1822 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1822 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
setValueName(yyvsp[0].TermInstVal, yyvsp[-1].StrVal);
InsertValue(yyvsp[0].TermInstVal);
;
break;}
case 164:
-#line 1831 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1831 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyvsp[-1].BasicBlockVal->getInstList().push_back(yyvsp[0].InstVal);
yyval.BasicBlockVal = yyvsp[-1].BasicBlockVal;
;
break;}
case 165:
-#line 1835 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1835 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.BasicBlockVal = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
;
break;}
case 166:
-#line 1845 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1845 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.BasicBlockVal = CurBB = getBBVal(ValID::create(yyvsp[0].StrVal), true);
;
break;}
case 167:
-#line 1856 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1856 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
yyval.TermInstVal = new ReturnInst(yyvsp[0].ValueVal);
;
break;}
case 168:
-#line 1859 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1859 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
yyval.TermInstVal = new ReturnInst();
;
break;}
case 169:
-#line 1862 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1862 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[0].ValIDVal));
;
break;}
case 170:
-#line 1865 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1865 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TermInstVal = new BranchInst(getBBVal(yyvsp[-3].ValIDVal), getBBVal(yyvsp[0].ValIDVal), getVal(Type::BoolTy, yyvsp[-6].ValIDVal));
;
break;}
case 171:
-#line 1868 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1868 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
SwitchInst *S = new SwitchInst(getVal(yyvsp[-7].PrimType, yyvsp[-6].ValIDVal), getBBVal(yyvsp[-3].ValIDVal), yyvsp[-1].JumpTable->size());
yyval.TermInstVal = S;
;
break;}
case 172:
-#line 1882 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1882 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
SwitchInst *S = new SwitchInst(getVal(yyvsp[-6].PrimType, yyvsp[-5].ValIDVal), getBBVal(yyvsp[-2].ValIDVal), 0);
yyval.TermInstVal = S;
;
break;}
case 173:
-#line 1887 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1887 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const PointerType *PFTy;
const FunctionType *Ty;
;
break;}
case 174:
-#line 1939 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1939 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TermInstVal = new UnwindInst();
;
break;}
case 175:
-#line 1942 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1942 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.TermInstVal = new UnreachableInst();
;
break;}
case 176:
-#line 1948 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1948 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.JumpTable = yyvsp[-5].JumpTable;
Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
;
break;}
case 177:
-#line 1956 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1956 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.JumpTable = new std::vector<std::pair<Constant*, BasicBlock*> >();
Constant *V = cast<Constant>(getValNonImprovising(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal));
;
break;}
case 178:
-#line 1966 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1966 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName(yyvsp[0].InstVal, yyvsp[-1].StrVal);
;
break;}
case 179:
-#line 1973 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1973 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
yyval.PHIList = new std::list<std::pair<Value*, BasicBlock*> >();
yyval.PHIList->push_back(std::make_pair(getVal(*yyvsp[-5].TypeVal, yyvsp[-3].ValIDVal), getBBVal(yyvsp[-1].ValIDVal)));
;
break;}
case 180:
-#line 1978 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1978 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.PHIList = yyvsp[-6].PHIList;
yyvsp[-6].PHIList->push_back(std::make_pair(getVal(yyvsp[-6].PHIList->front().first->getType(), yyvsp[-3].ValIDVal),
;
break;}
case 181:
-#line 1985 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1985 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ // Used for call statements, and memory insts...
yyval.ValueList = new std::vector<Value*>();
yyval.ValueList->push_back(yyvsp[0].ValueVal);
;
break;}
case 182:
-#line 1989 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1989 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValueList = yyvsp[-2].ValueList;
yyvsp[-2].ValueList->push_back(yyvsp[0].ValueVal);
;
break;}
case 184:
-#line 1995 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1995 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{ yyval.ValueList = 0; ;
break;}
case 185:
-#line 1997 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 1997 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.BoolVal = true;
;
break;}
case 186:
-#line 2000 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2000 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.BoolVal = false;
;
break;}
case 187:
-#line 2006 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2006 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!(*yyvsp[-3].TypeVal)->isInteger() && !(*yyvsp[-3].TypeVal)->isFloatingPoint() &&
!isa<PackedType>((*yyvsp[-3].TypeVal).get()))
;
break;}
case 188:
-#line 2018 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2018 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!(*yyvsp[-3].TypeVal)->isIntegral())
ThrowException("Logical operator requires integral operands!");
;
break;}
case 189:
-#line 2026 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2026 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if(isa<PackedType>((*yyvsp[-3].TypeVal).get())) {
ThrowException(
;
break;}
case 190:
-#line 2036 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2036 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
std::cerr << "WARNING: Use of eliminated 'not' instruction:"
<< " Replacing with 'xor'.\n";
;
break;}
case 191:
-#line 2048 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2048 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[0].ValueVal->getType() != Type::UByteTy)
ThrowException("Shift amount must be ubyte!");
;
break;}
case 192:
-#line 2055 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2055 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!yyvsp[0].TypeVal->get()->isFirstClassType())
ThrowException("cast instruction to a non-primitive type: '" +
;
break;}
case 193:
-#line 2062 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2062 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (yyvsp[-4].ValueVal->getType() != Type::BoolTy)
ThrowException("select condition must be boolean!");
;
break;}
case 194:
-#line 2069 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2069 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
NewVarArgs = true;
yyval.InstVal = new VAArgInst(yyvsp[-2].ValueVal, *yyvsp[0].TypeVal);
;
break;}
case 195:
-#line 2074 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2074 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
ObsoleteVarArgs = true;
const Type* ArgTy = yyvsp[-2].ValueVal->getType();
;
break;}
case 196:
-#line 2093 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2093 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
ObsoleteVarArgs = true;
const Type* ArgTy = yyvsp[-2].ValueVal->getType();
;
break;}
case 197:
-#line 2115 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2115 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = yyvsp[0].PHIList->front().first->getType();
if (!Ty->isFirstClassType())
;
break;}
case 198:
-#line 2129 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2129 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const PointerType *PFTy;
const FunctionType *Ty;
;
break;}
case 199:
-#line 2186 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2186 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.InstVal = yyvsp[0].InstVal;
;
break;}
case 200:
-#line 2192 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2192 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValueList = yyvsp[0].ValueList;
;
break;}
case 201:
-#line 2194 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2194 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.ValueList = new std::vector<Value*>();
;
break;}
case 202:
-#line 2198 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2198 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.BoolVal = true;
;
break;}
case 203:
-#line 2201 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2201 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.BoolVal = false;
;
break;}
case 204:
-#line 2207 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2207 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.InstVal = new MallocInst(*yyvsp[0].TypeVal);
delete yyvsp[0].TypeVal;
;
break;}
case 205:
-#line 2211 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2211 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
+ ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
+ "' is not a power of 2!");
yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val);
delete yyvsp[-3].TypeVal;
;
break;}
case 206:
-#line 2215 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2218 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.InstVal = new MallocInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));
delete yyvsp[-3].TypeVal;
;
break;}
case 207:
-#line 2219 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2222 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
+ ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
+ "' is not a power of 2!");
yyval.InstVal = new MallocInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val);
delete yyvsp[-6].TypeVal;
;
break;}
case 208:
-#line 2223 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2229 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.InstVal = new AllocaInst(*yyvsp[0].TypeVal);
delete yyvsp[0].TypeVal;
;
break;}
case 209:
-#line 2227 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2233 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
+ ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
+ "' is not a power of 2!");
yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, 0, yyvsp[0].UInt64Val);
delete yyvsp[-3].TypeVal;
;
break;}
case 210:
-#line 2231 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2240 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
yyval.InstVal = new AllocaInst(*yyvsp[-3].TypeVal, getVal(yyvsp[-1].PrimType, yyvsp[0].ValIDVal));
delete yyvsp[-3].TypeVal;
;
break;}
case 211:
-#line 2235 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2244 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
+ if (yyvsp[0].UInt64Val & (yyvsp[0].UInt64Val-1))
+ ThrowException("Alignment amount '" + utostr(yyvsp[0].UInt64Val) +
+ "' is not a power of 2!");
yyval.InstVal = new AllocaInst(*yyvsp[-6].TypeVal, getVal(yyvsp[-4].PrimType, yyvsp[-3].ValIDVal), yyvsp[0].UInt64Val);
delete yyvsp[-6].TypeVal;
;
break;}
case 212:
-#line 2239 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2251 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>(yyvsp[0].ValueVal->getType()))
ThrowException("Trying to free nonpointer type " +
;
break;}
case 213:
-#line 2246 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2258 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>(yyvsp[-1].TypeVal->get()))
ThrowException("Can't load from nonpointer type: " +
;
break;}
case 214:
-#line 2256 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2268 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
const PointerType *PT = dyn_cast<PointerType>(yyvsp[-1].TypeVal->get());
if (!PT)
;
break;}
case 215:
-#line 2269 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2281 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>(yyvsp[-2].TypeVal->get()))
ThrowException("getelementptr insn requires pointer operand!");
}
return 1;
}
-#line 2292 "/llvm/lib/AsmParser/llvmAsmParser.y"
+#line 2304 "/Users/sabre/cvs/llvm/lib/AsmParser/llvmAsmParser.y"
int yyerror(const char *ErrorMsg) {
std::string where