llvm.org GIT mirror llvm / 4fe16d6
Rename BoolTy as Int1Ty. Patch by Sheng Zhou. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33076 91177308-0d34-0410-b5e6-96231b3b80d8 Reid Spencer 13 years ago
46 changed file(s) with 546 addition(s) and 546 deletion(s). Raw diff Collapse all Expand all
101101 static ConstantInt *CI = 0;
102102 if (CI) return CI;
103103 return CI = new ConstantInt(getType(),
104 Val ^ (getType() == Type::BoolTy ? 1 : -1));
104 Val ^ (getType() == Type::Int1Ty ? 1 : -1));
105105 }
106106
107107 /// @returns the value of this ConstantInt only if it's a boolean type.
108108 /// @brief return the boolean value of this constant.
109109 inline bool getBoolValue() const {
110 assert(getType() == Type::BoolTy && "Should be a boolean constant!");
110 assert(getType() == Type::Int1Ty && "Should be a boolean constant!");
111111 return static_cast(getZExtValue());
112112 }
113113
136136 /// @returns true iff this constant's bits are all set to true.
137137 /// @brief Determine if the value is all ones.
138138 virtual bool isAllOnesValue() const {
139 if (getType() == Type::BoolTy) return getBoolValue() == true;
139 if (getType() == Type::Int1Ty) return getBoolValue() == true;
140140 return getSExtValue() == -1;
141141 }
142142
146146 /// by this type.
147147 /// @brief Determine if the value is maximal.
148148 virtual bool isMaxValue(bool isSigned) const {
149 if (getType() == Type::BoolTy) return getBoolValue() == true;
149 if (getType() == Type::Int1Ty) return getBoolValue() == true;
150150 if (isSigned) {
151151 int64_t V = getSExtValue();
152152 if (V < 0) return false; // Be careful about wrap-around on 'long's
162162 /// this type.
163163 /// @brief Determine if the value is minimal.
164164 virtual bool isMinValue(bool isSigned) const {
165 if (getType() == Type::BoolTy) return getBoolValue() == false;
165 if (getType() == Type::Int1Ty) return getBoolValue() == false;
166166 if (isSigned) {
167167 int64_t V = getSExtValue();
168168 if (V > 0) return false; // Be careful about wrap-around on 'long's
2121 typedef uintptr_t PointerTy;
2222
2323 union GenericValue {
24 bool BoolVal;
24 bool Int1Val;
2525 unsigned char Int8Val;
2626 unsigned short Int16Val;
2727 unsigned int Int32Val;
6363 }
6464
6565 def llvm_void_ty : LLVMType;
66 def llvm_bool_ty : LLVMTypeTyID">;
66 def llvm_i1_ty : LLVMTypeTyID">;
6767 def llvm_i8_ty : LLVMType;
6868 def llvm_i16_ty : LLVMType;
6969 def llvm_i32_ty : LLVMType;
341341 switch (Ty->getTypeID()) {
342342 default: assert(0 && "Unknown type!");
343343 case Type::VoidTyID: return MVT::isVoid;
344 case Type::BoolTyID: return MVT::i1;
344 case Type::Int1TyID: return MVT::i1;
345345 case Type::Int8TyID: return MVT::i8;
346346 case Type::Int16TyID: return MVT::i16;
347347 case Type::Int32TyID: return MVT::i32;
7070 ///
7171 enum TypeID {
7272 // PrimitiveTypes .. make sure LastPrimitiveTyID stays up to date
73 VoidTyID = 0 , BoolTyID, // 0, 1: Basics...
73 VoidTyID = 0 , Int1TyID, // 0, 1: Basics...
7474 Int8TyID, // 2 : 8 bit type...
7575 Int16TyID, // 3 : 16 bit type...
7676 Int32TyID, // 4 : 32 bit type...
164164 bool isInteger() const { return ID >= Int8TyID && ID <= Int64TyID; }
165165
166166 /// isIntegral - Returns true if this is an integral type, which is either
167 /// BoolTy or one of the Integer types.
168 ///
169 bool isIntegral() const { return isInteger() || this == BoolTy; }
167 /// Int1Ty or one of the Integer types.
168 ///
169 bool isIntegral() const { return isInteger() || this == Int1Ty; }
170170
171171 /// isFloatingPoint - Return true if this is one of the two floating point
172172 /// types
208208 ///
209209 bool isSized() const {
210210 // If it's a primitive, it is always sized.
211 if (ID >= BoolTyID && ID <= DoubleTyID || ID == PointerTyID)
211 if (ID >= Int1TyID && ID <= DoubleTyID || ID == PointerTyID)
212212 return true;
213213 // If it is not something that can have a size (e.g. a function or label),
214214 // it doesn't have a size.
247247 /// will be promoted to if passed through a variable argument
248248 /// function.
249249 const Type *getVAArgsPromotedType() const {
250 if (ID == BoolTyID || ID == Int8TyID || ID == Int16TyID)
250 if (ID == Int1TyID || ID == Int8TyID || ID == Int16TyID)
251251 return Type::Int32Ty;
252252 else if (ID == FloatTyID)
253253 return Type::DoubleTy;
287287 //===--------------------------------------------------------------------===//
288288 // These are the builtin types that are always available...
289289 //
290 static Type *VoidTy , *BoolTy;
290 static Type *VoidTy , *Int1Ty;
291291 static Type *Int8Ty , *Int16Ty,
292292 *Int32Ty, *Int64Ty;
293293 static Type *FloatTy, *DoubleTy;
434434 BasePtr->getType())->getElementType()->isSized()) {
435435 for (unsigned i = 0; i != GEPOperands.size(); ++i)
436436 if (!isa(GEPOperands[i]) ||
437 GEPOperands[i]->getType() == Type::BoolTy)
437 GEPOperands[i]->getType() == Type::Int1Ty)
438438 GEPOperands[i] =
439439 Constant::getNullValue(GEPOperands[i]->getType());
440440 int64_t Offset =
609609 if (GEP1Ops.size() > MinOperands) {
610610 for (unsigned i = FirstConstantOper; i != MaxOperands; ++i)
611611 if (isa(GEP1Ops[i]) &&
612 GEP1Ops[i]->getType() != Type::BoolTy &&
612 GEP1Ops[i]->getType() != Type::Int1Ty &&
613613 !cast(GEP1Ops[i])->isNullValue()) {
614614 // Yup, there's a constant in the tail. Set all variables to
615615 // constants in the GEP instruction to make it suiteable for
616616 // TargetData::getIndexedOffset.
617617 for (i = 0; i != MaxOperands; ++i)
618618 if (!isa(GEP1Ops[i]) ||
619 GEP1Ops[i]->getType() == Type::BoolTy)
619 GEP1Ops[i]->getType() == Type::Int1Ty)
620620 GEP1Ops[i] = Constant::getNullValue(GEP1Ops[i]->getType());
621621 // Okay, now get the offset. This is the relative offset for the full
622622 // instruction.
669669 const Value *Op2 = i < GEP2Ops.size() ? GEP2Ops[i] : 0;
670670 // If they are equal, use a zero index...
671671 if (Op1 == Op2 && BasePtr1Ty == BasePtr2Ty) {
672 if (!isa(Op1) || Op1->getType() == Type::BoolTy)
672 if (!isa(Op1) || Op1->getType() == Type::Int1Ty)
673673 GEP1Ops[i] = GEP2Ops[i] = Constant::getNullValue(Op1->getType());
674674 // Otherwise, just keep the constants we have.
675675 } else {
3030 using namespace llvm;
3131
3232 static ConstantInt *getMaxValue(const Type *Ty, bool isSigned = false) {
33 if (Ty == Type::BoolTy)
33 if (Ty == Type::Int1Ty)
3434 return ConstantInt::getTrue();
3535 if (Ty->isInteger()) {
3636 if (isSigned) {
4747
4848 // Static constructor to create the minimum constant for an integral type...
4949 static ConstantInt *getMinValue(const Type *Ty, bool isSigned = false) {
50 if (Ty == Type::BoolTy)
50 if (Ty == Type::Int1Ty)
5151 return ConstantInt::getFalse();
5252 if (Ty->isInteger()) {
5353 if (isSigned) {
6262 return 0;
6363 }
6464 static ConstantInt *Next(ConstantInt *CI) {
65 if (CI->getType() == Type::BoolTy)
65 if (CI->getType() == Type::Int1Ty)
6666 return ConstantInt::get(!CI->getBoolValue());
6767
6868 Constant *Result = ConstantExpr::getAdd(CI,
204204 ///
205205 uint64_t ConstantRange::getSetSize() const {
206206 if (isEmptySet()) return 0;
207 if (getType() == Type::BoolTy) {
207 if (getType() == Type::Int1Ty) {
208208 if (Lower != Upper) // One of T or F in the set...
209209 return 1;
210210 return 2; // Must be full set...
19291929 dyn_cast_or_null(EvaluateExpression(Cond, PHIVal));
19301930
19311931 // Couldn't symbolically evaluate.
1932 if (!CondVal || CondVal->getType() != Type::BoolTy) return UnknownValue;
1932 if (!CondVal || CondVal->getType() != Type::Int1Ty) return UnknownValue;
19331933
19341934 if (CondVal->getBoolValue() == ExitWhen) {
19351935 ConstantEvolutionLoopExitValue[PN] = PHIVal;
880880 #define YY_MORE_ADJ 0
881881 #define YY_RESTORE_YY_MORE_OFFSET
882882 char *yytext;
883 #line 1 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
883 #line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
884884 #define INITIAL 0
885885 /*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
886886 //
895895 //
896896 //===----------------------------------------------------------------------===*/
897897 #define YY_NEVER_INTERACTIVE 1
898 #line 28 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
898 #line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
899899 #include "ParserInternals.h"
900900 #include "llvm/Module.h"
901901 #include
11791179 register char *yy_cp = NULL, *yy_bp = NULL;
11801180 register int yy_act;
11811181
1182 #line 186 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1182 #line 186 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
11831183
11841184
11851185 #line 1187 "Lexer.cpp"
12421242 yy_find_action:
12431243 yy_current_state = *--yy_state_ptr;
12441244 yy_lp = yy_accept[yy_current_state];
1245 find_rule: /* we branch to this label when backing up */
1245
12461246 for ( ; ; ) /* until we find what rule we matched */
12471247 {
12481248 if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
12751275 { /* beginning of action switch */
12761276 case 1:
12771277 YY_RULE_SETUP
1278 #line 188 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1278 #line 188 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
12791279 { /* Ignore comments for now */ }
12801280 YY_BREAK
12811281 case 2:
12821282 YY_RULE_SETUP
1283 #line 190 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1283 #line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
12841284 { return BEGINTOK; }
12851285 YY_BREAK
12861286 case 3:
12871287 YY_RULE_SETUP
1288 #line 191 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1288 #line 191 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
12891289 { return ENDTOK; }
12901290 YY_BREAK
12911291 case 4:
12921292 YY_RULE_SETUP
1293 #line 192 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1293 #line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
12941294 { return TRUETOK; }
12951295 YY_BREAK
12961296 case 5:
12971297 YY_RULE_SETUP
1298 #line 193 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1298 #line 193 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
12991299 { return FALSETOK; }
13001300 YY_BREAK
13011301 case 6:
13021302 YY_RULE_SETUP
1303 #line 194 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1303 #line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13041304 { return DECLARE; }
13051305 YY_BREAK
13061306 case 7:
13071307 YY_RULE_SETUP
1308 #line 195 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1308 #line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13091309 { return DEFINE; }
13101310 YY_BREAK
13111311 case 8:
13121312 YY_RULE_SETUP
1313 #line 196 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1313 #line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13141314 { return GLOBAL; }
13151315 YY_BREAK
13161316 case 9:
13171317 YY_RULE_SETUP
1318 #line 197 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1318 #line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13191319 { return CONSTANT; }
13201320 YY_BREAK
13211321 case 10:
13221322 YY_RULE_SETUP
1323 #line 198 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1323 #line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13241324 { return INTERNAL; }
13251325 YY_BREAK
13261326 case 11:
13271327 YY_RULE_SETUP
1328 #line 199 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1328 #line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13291329 { return LINKONCE; }
13301330 YY_BREAK
13311331 case 12:
13321332 YY_RULE_SETUP
1333 #line 200 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1333 #line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13341334 { return WEAK; }
13351335 YY_BREAK
13361336 case 13:
13371337 YY_RULE_SETUP
1338 #line 201 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1338 #line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13391339 { return APPENDING; }
13401340 YY_BREAK
13411341 case 14:
13421342 YY_RULE_SETUP
1343 #line 202 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1343 #line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13441344 { return DLLIMPORT; }
13451345 YY_BREAK
13461346 case 15:
13471347 YY_RULE_SETUP
1348 #line 203 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1348 #line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13491349 { return DLLEXPORT; }
13501350 YY_BREAK
13511351 case 16:
13521352 YY_RULE_SETUP
1353 #line 204 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1353 #line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13541354 { return EXTERN_WEAK; }
13551355 YY_BREAK
13561356 case 17:
13571357 YY_RULE_SETUP
1358 #line 205 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1358 #line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13591359 { return EXTERNAL; }
13601360 YY_BREAK
13611361 case 18:
13621362 YY_RULE_SETUP
1363 #line 206 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1363 #line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13641364 { return IMPLEMENTATION; }
13651365 YY_BREAK
13661366 case 19:
13671367 YY_RULE_SETUP
1368 #line 207 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1368 #line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13691369 { return ZEROINITIALIZER; }
13701370 YY_BREAK
13711371 case 20:
13721372 YY_RULE_SETUP
1373 #line 208 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1373 #line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13741374 { return DOTDOTDOT; }
13751375 YY_BREAK
13761376 case 21:
13771377 YY_RULE_SETUP
1378 #line 209 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1378 #line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13791379 { return UNDEF; }
13801380 YY_BREAK
13811381 case 22:
13821382 YY_RULE_SETUP
1383 #line 210 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1383 #line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13841384 { return NULL_TOK; }
13851385 YY_BREAK
13861386 case 23:
13871387 YY_RULE_SETUP
1388 #line 211 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1388 #line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13891389 { return TO; }
13901390 YY_BREAK
13911391 case 24:
13921392 YY_RULE_SETUP
1393 #line 212 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1393 #line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13941394 { return TAIL; }
13951395 YY_BREAK
13961396 case 25:
13971397 YY_RULE_SETUP
1398 #line 213 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1398 #line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
13991399 { return TARGET; }
14001400 YY_BREAK
14011401 case 26:
14021402 YY_RULE_SETUP
1403 #line 214 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1403 #line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14041404 { return TRIPLE; }
14051405 YY_BREAK
14061406 case 27:
14071407 YY_RULE_SETUP
1408 #line 215 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1408 #line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14091409 { return DEPLIBS; }
14101410 YY_BREAK
14111411 case 28:
14121412 YY_RULE_SETUP
1413 #line 216 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1413 #line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14141414 { return ENDIAN; }
14151415 YY_BREAK
14161416 case 29:
14171417 YY_RULE_SETUP
1418 #line 217 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1418 #line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14191419 { return POINTERSIZE; }
14201420 YY_BREAK
14211421 case 30:
14221422 YY_RULE_SETUP
1423 #line 218 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1423 #line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14241424 { return DATALAYOUT; }
14251425 YY_BREAK
14261426 case 31:
14271427 YY_RULE_SETUP
1428 #line 219 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1428 #line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14291429 { return LITTLE; }
14301430 YY_BREAK
14311431 case 32:
14321432 YY_RULE_SETUP
1433 #line 220 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1433 #line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14341434 { return BIG; }
14351435 YY_BREAK
14361436 case 33:
14371437 YY_RULE_SETUP
1438 #line 221 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1438 #line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14391439 { return VOLATILE; }
14401440 YY_BREAK
14411441 case 34:
14421442 YY_RULE_SETUP
1443 #line 222 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1443 #line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14441444 { return ALIGN; }
14451445 YY_BREAK
14461446 case 35:
14471447 YY_RULE_SETUP
1448 #line 223 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1448 #line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14491449 { return SECTION; }
14501450 YY_BREAK
14511451 case 36:
14521452 YY_RULE_SETUP
1453 #line 224 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1453 #line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14541454 { return MODULE; }
14551455 YY_BREAK
14561456 case 37:
14571457 YY_RULE_SETUP
1458 #line 225 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1458 #line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14591459 { return ASM_TOK; }
14601460 YY_BREAK
14611461 case 38:
14621462 YY_RULE_SETUP
1463 #line 226 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1463 #line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14641464 { return SIDEEFFECT; }
14651465 YY_BREAK
14661466 case 39:
14671467 YY_RULE_SETUP
1468 #line 228 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1468 #line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14691469 { return CC_TOK; }
14701470 YY_BREAK
14711471 case 40:
14721472 YY_RULE_SETUP
1473 #line 229 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1473 #line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14741474 { return CCC_TOK; }
14751475 YY_BREAK
14761476 case 41:
14771477 YY_RULE_SETUP
1478 #line 230 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1478 #line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14791479 { return CSRETCC_TOK; }
14801480 YY_BREAK
14811481 case 42:
14821482 YY_RULE_SETUP
1483 #line 231 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1483 #line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14841484 { return FASTCC_TOK; }
14851485 YY_BREAK
14861486 case 43:
14871487 YY_RULE_SETUP
1488 #line 232 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1488 #line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14891489 { return COLDCC_TOK; }
14901490 YY_BREAK
14911491 case 44:
14921492 YY_RULE_SETUP
1493 #line 233 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1493 #line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14941494 { return X86_STDCALLCC_TOK; }
14951495 YY_BREAK
14961496 case 45:
14971497 YY_RULE_SETUP
1498 #line 234 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1498 #line 234 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
14991499 { return X86_FASTCALLCC_TOK; }
15001500 YY_BREAK
15011501 case 46:
15021502 YY_RULE_SETUP
1503 #line 236 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1503 #line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15041504 { RET_TY(Type::VoidTy, VOID); }
15051505 YY_BREAK
15061506 case 47:
15071507 YY_RULE_SETUP
1508 #line 237 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1509 { RET_TY(Type::BoolTy, BOOL); }
1508 #line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
1509 { RET_TY(Type::Int1Ty, BOOL); }
15101510 YY_BREAK
15111511 case 48:
15121512 YY_RULE_SETUP
1513 #line 238 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1513 #line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15141514 { RET_TY(Type::Int8Ty, INT8); }
15151515 YY_BREAK
15161516 case 49:
15171517 YY_RULE_SETUP
1518 #line 239 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1518 #line 239 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15191519 { RET_TY(Type::Int16Ty, INT16); }
15201520 YY_BREAK
15211521 case 50:
15221522 YY_RULE_SETUP
1523 #line 240 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1523 #line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15241524 { RET_TY(Type::Int32Ty, INT32); }
15251525 YY_BREAK
15261526 case 51:
15271527 YY_RULE_SETUP
1528 #line 241 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1528 #line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15291529 { RET_TY(Type::Int64Ty, INT64); }
15301530 YY_BREAK
15311531 case 52:
15321532 YY_RULE_SETUP
1533 #line 242 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1533 #line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15341534 { RET_TY(Type::FloatTy, FLOAT); }
15351535 YY_BREAK
15361536 case 53:
15371537 YY_RULE_SETUP
1538 #line 243 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1538 #line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15391539 { RET_TY(Type::DoubleTy,DOUBLE);}
15401540 YY_BREAK
15411541 case 54:
15421542 YY_RULE_SETUP
1543 #line 244 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1543 #line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15441544 { RET_TY(Type::LabelTy, LABEL); }
15451545 YY_BREAK
15461546 case 55:
15471547 YY_RULE_SETUP
1548 #line 245 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1548 #line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15491549 { return TYPE; }
15501550 YY_BREAK
15511551 case 56:
15521552 YY_RULE_SETUP
1553 #line 246 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1553 #line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15541554 { return OPAQUE; }
15551555 YY_BREAK
15561556 case 57:
15571557 YY_RULE_SETUP
1558 #line 248 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1558 #line 248 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15591559 { RET_TOK(BinaryOpVal, Add, ADD); }
15601560 YY_BREAK
15611561 case 58:
15621562 YY_RULE_SETUP
1563 #line 249 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1563 #line 249 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15641564 { RET_TOK(BinaryOpVal, Sub, SUB); }
15651565 YY_BREAK
15661566 case 59:
15671567 YY_RULE_SETUP
1568 #line 250 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1568 #line 250 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15691569 { RET_TOK(BinaryOpVal, Mul, MUL); }
15701570 YY_BREAK
15711571 case 60:
15721572 YY_RULE_SETUP
1573 #line 251 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1573 #line 251 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15741574 { RET_TOK(BinaryOpVal, UDiv, UDIV); }
15751575 YY_BREAK
15761576 case 61:
15771577 YY_RULE_SETUP
1578 #line 252 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1578 #line 252 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15791579 { RET_TOK(BinaryOpVal, SDiv, SDIV); }
15801580 YY_BREAK
15811581 case 62:
15821582 YY_RULE_SETUP
1583 #line 253 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1583 #line 253 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15841584 { RET_TOK(BinaryOpVal, FDiv, FDIV); }
15851585 YY_BREAK
15861586 case 63:
15871587 YY_RULE_SETUP
1588 #line 254 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1588 #line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15891589 { RET_TOK(BinaryOpVal, URem, UREM); }
15901590 YY_BREAK
15911591 case 64:
15921592 YY_RULE_SETUP
1593 #line 255 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1593 #line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15941594 { RET_TOK(BinaryOpVal, SRem, SREM); }
15951595 YY_BREAK
15961596 case 65:
15971597 YY_RULE_SETUP
1598 #line 256 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1598 #line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
15991599 { RET_TOK(BinaryOpVal, FRem, FREM); }
16001600 YY_BREAK
16011601 case 66:
16021602 YY_RULE_SETUP
1603 #line 257 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1603 #line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16041604 { RET_TOK(BinaryOpVal, And, AND); }
16051605 YY_BREAK
16061606 case 67:
16071607 YY_RULE_SETUP
1608 #line 258 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1608 #line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16091609 { RET_TOK(BinaryOpVal, Or , OR ); }
16101610 YY_BREAK
16111611 case 68:
16121612 YY_RULE_SETUP
1613 #line 259 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1613 #line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16141614 { RET_TOK(BinaryOpVal, Xor, XOR); }
16151615 YY_BREAK
16161616 case 69:
16171617 YY_RULE_SETUP
1618 #line 260 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1618 #line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16191619 { RET_TOK(OtherOpVal, ICmp, ICMP); }
16201620 YY_BREAK
16211621 case 70:
16221622 YY_RULE_SETUP
1623 #line 261 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1623 #line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16241624 { RET_TOK(OtherOpVal, FCmp, FCMP); }
16251625 YY_BREAK
16261626 case 71:
16271627 YY_RULE_SETUP
1628 #line 262 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1628 #line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16291629 { return EQ; }
16301630 YY_BREAK
16311631 case 72:
16321632 YY_RULE_SETUP
1633 #line 263 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1633 #line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16341634 { return NE; }
16351635 YY_BREAK
16361636 case 73:
16371637 YY_RULE_SETUP
1638 #line 264 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1638 #line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16391639 { return SLT; }
16401640 YY_BREAK
16411641 case 74:
16421642 YY_RULE_SETUP
1643 #line 265 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1643 #line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16441644 { return SGT; }
16451645 YY_BREAK
16461646 case 75:
16471647 YY_RULE_SETUP
1648 #line 266 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1648 #line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16491649 { return SLE; }
16501650 YY_BREAK
16511651 case 76:
16521652 YY_RULE_SETUP
1653 #line 267 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1653 #line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16541654 { return SGE; }
16551655 YY_BREAK
16561656 case 77:
16571657 YY_RULE_SETUP
1658 #line 268 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1658 #line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16591659 { return ULT; }
16601660 YY_BREAK
16611661 case 78:
16621662 YY_RULE_SETUP
1663 #line 269 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1663 #line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16641664 { return UGT; }
16651665 YY_BREAK
16661666 case 79:
16671667 YY_RULE_SETUP
1668 #line 270 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1668 #line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16691669 { return ULE; }
16701670 YY_BREAK
16711671 case 80:
16721672 YY_RULE_SETUP
1673 #line 271 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1673 #line 271 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16741674 { return UGE; }
16751675 YY_BREAK
16761676 case 81:
16771677 YY_RULE_SETUP
1678 #line 272 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1678 #line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16791679 { return OEQ; }
16801680 YY_BREAK
16811681 case 82:
16821682 YY_RULE_SETUP
1683 #line 273 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1683 #line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16841684 { return ONE; }
16851685 YY_BREAK
16861686 case 83:
16871687 YY_RULE_SETUP
1688 #line 274 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1688 #line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16891689 { return OLT; }
16901690 YY_BREAK
16911691 case 84:
16921692 YY_RULE_SETUP
1693 #line 275 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1693 #line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16941694 { return OGT; }
16951695 YY_BREAK
16961696 case 85:
16971697 YY_RULE_SETUP
1698 #line 276 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1698 #line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
16991699 { return OLE; }
17001700 YY_BREAK
17011701 case 86:
17021702 YY_RULE_SETUP
1703 #line 277 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1703 #line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17041704 { return OGE; }
17051705 YY_BREAK
17061706 case 87:
17071707 YY_RULE_SETUP
1708 #line 278 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1708 #line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17091709 { return ORD; }
17101710 YY_BREAK
17111711 case 88:
17121712 YY_RULE_SETUP
1713 #line 279 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1713 #line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17141714 { return UNO; }
17151715 YY_BREAK
17161716 case 89:
17171717 YY_RULE_SETUP
1718 #line 280 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1718 #line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17191719 { return UEQ; }
17201720 YY_BREAK
17211721 case 90:
17221722 YY_RULE_SETUP
1723 #line 281 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1723 #line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17241724 { return UNE; }
17251725 YY_BREAK
17261726 case 91:
17271727 YY_RULE_SETUP
1728 #line 283 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1728 #line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17291729 { RET_TOK(OtherOpVal, PHI, PHI_TOK); }
17301730 YY_BREAK
17311731 case 92:
17321732 YY_RULE_SETUP
1733 #line 284 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1733 #line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17341734 { RET_TOK(OtherOpVal, Call, CALL); }
17351735 YY_BREAK
17361736 case 93:
17371737 YY_RULE_SETUP
1738 #line 285 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1738 #line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17391739 { RET_TOK(CastOpVal, Trunc, TRUNC); }
17401740 YY_BREAK
17411741 case 94:
17421742 YY_RULE_SETUP
1743 #line 286 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1743 #line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17441744 { RET_TOK(CastOpVal, ZExt, ZEXT); }
17451745 YY_BREAK
17461746 case 95:
17471747 YY_RULE_SETUP
1748 #line 287 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1748 #line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17491749 { RET_TOK(CastOpVal, SExt, SEXT); }
17501750 YY_BREAK
17511751 case 96:
17521752 YY_RULE_SETUP
1753 #line 288 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1753 #line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17541754 { RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
17551755 YY_BREAK
17561756 case 97:
17571757 YY_RULE_SETUP
1758 #line 289 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1758 #line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17591759 { RET_TOK(CastOpVal, FPExt, FPEXT); }
17601760 YY_BREAK
17611761 case 98:
17621762 YY_RULE_SETUP
1763 #line 290 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1763 #line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17641764 { RET_TOK(CastOpVal, UIToFP, UITOFP); }
17651765 YY_BREAK
17661766 case 99:
17671767 YY_RULE_SETUP
1768 #line 291 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1768 #line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17691769 { RET_TOK(CastOpVal, SIToFP, SITOFP); }
17701770 YY_BREAK
17711771 case 100:
17721772 YY_RULE_SETUP
1773 #line 292 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1773 #line 292 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17741774 { RET_TOK(CastOpVal, FPToUI, FPTOUI); }
17751775 YY_BREAK
17761776 case 101:
17771777 YY_RULE_SETUP
1778 #line 293 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1778 #line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17791779 { RET_TOK(CastOpVal, FPToSI, FPTOSI); }
17801780 YY_BREAK
17811781 case 102:
17821782 YY_RULE_SETUP
1783 #line 294 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1783 #line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17841784 { RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
17851785 YY_BREAK
17861786 case 103:
17871787 YY_RULE_SETUP
1788 #line 295 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1788 #line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17891789 { RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
17901790 YY_BREAK
17911791 case 104:
17921792 YY_RULE_SETUP
1793 #line 296 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1793 #line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17941794 { RET_TOK(CastOpVal, BitCast, BITCAST); }
17951795 YY_BREAK
17961796 case 105:
17971797 YY_RULE_SETUP
1798 #line 297 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1798 #line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
17991799 { RET_TOK(OtherOpVal, Select, SELECT); }
18001800 YY_BREAK
18011801 case 106:
18021802 YY_RULE_SETUP
1803 #line 298 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1803 #line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18041804 { RET_TOK(OtherOpVal, Shl, SHL); }
18051805 YY_BREAK
18061806 case 107:
18071807 YY_RULE_SETUP
1808 #line 299 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1808 #line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18091809 { RET_TOK(OtherOpVal, LShr, LSHR); }
18101810 YY_BREAK
18111811 case 108:
18121812 YY_RULE_SETUP
1813 #line 300 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1813 #line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18141814 { RET_TOK(OtherOpVal, AShr, ASHR); }
18151815 YY_BREAK
18161816 case 109:
18171817 YY_RULE_SETUP
1818 #line 301 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1818 #line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18191819 { RET_TOK(OtherOpVal, VAArg , VAARG); }
18201820 YY_BREAK
18211821 case 110:
18221822 YY_RULE_SETUP
1823 #line 302 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1823 #line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18241824 { RET_TOK(TermOpVal, Ret, RET); }
18251825 YY_BREAK
18261826 case 111:
18271827 YY_RULE_SETUP
1828 #line 303 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1828 #line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18291829 { RET_TOK(TermOpVal, Br, BR); }
18301830 YY_BREAK
18311831 case 112:
18321832 YY_RULE_SETUP
1833 #line 304 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1833 #line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18341834 { RET_TOK(TermOpVal, Switch, SWITCH); }
18351835 YY_BREAK
18361836 case 113:
18371837 YY_RULE_SETUP
1838 #line 305 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1838 #line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18391839 { RET_TOK(TermOpVal, Invoke, INVOKE); }
18401840 YY_BREAK
18411841 case 114:
18421842 YY_RULE_SETUP
1843 #line 306 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1843 #line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18441844 { RET_TOK(TermOpVal, Unwind, UNWIND); }
18451845 YY_BREAK
18461846 case 115:
18471847 YY_RULE_SETUP
1848 #line 307 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1848 #line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18491849 { RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
18501850 YY_BREAK
18511851 case 116:
18521852 YY_RULE_SETUP
1853 #line 309 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1853 #line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18541854 { RET_TOK(MemOpVal, Malloc, MALLOC); }
18551855 YY_BREAK
18561856 case 117:
18571857 YY_RULE_SETUP
1858 #line 310 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1858 #line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18591859 { RET_TOK(MemOpVal, Alloca, ALLOCA); }
18601860 YY_BREAK
18611861 case 118:
18621862 YY_RULE_SETUP
1863 #line 311 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1863 #line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18641864 { RET_TOK(MemOpVal, Free, FREE); }
18651865 YY_BREAK
18661866 case 119:
18671867 YY_RULE_SETUP
1868 #line 312 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1868 #line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18691869 { RET_TOK(MemOpVal, Load, LOAD); }
18701870 YY_BREAK
18711871 case 120:
18721872 YY_RULE_SETUP
1873 #line 313 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1873 #line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18741874 { RET_TOK(MemOpVal, Store, STORE); }
18751875 YY_BREAK
18761876 case 121:
18771877 YY_RULE_SETUP
1878 #line 314 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1878 #line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18791879 { RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
18801880 YY_BREAK
18811881 case 122:
18821882 YY_RULE_SETUP
1883 #line 316 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1883 #line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18841884 { RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
18851885 YY_BREAK
18861886 case 123:
18871887 YY_RULE_SETUP
1888 #line 317 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1888 #line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18891889 { RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
18901890 YY_BREAK
18911891 case 124:
18921892 YY_RULE_SETUP
1893 #line 318 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1893 #line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18941894 { RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
18951895 YY_BREAK
18961896 case 125:
18971897 YY_RULE_SETUP
1898 #line 321 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1898 #line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
18991899 {
19001900 UnEscapeLexed(yytext+1);
19011901 llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
19041904 YY_BREAK
19051905 case 126:
19061906 YY_RULE_SETUP
1907 #line 326 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1907 #line 326 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19081908 {
19091909 yytext[strlen(yytext)-1] = 0; // nuke colon
19101910 UnEscapeLexed(yytext);
19141914 YY_BREAK
19151915 case 127:
19161916 YY_RULE_SETUP
1917 #line 332 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1917 #line 332 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19181918 {
19191919 yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
19201920 UnEscapeLexed(yytext+1);
19241924 YY_BREAK
19251925 case 128:
19261926 YY_RULE_SETUP
1927 #line 339 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1927 #line 339 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19281928 { // Note that we cannot unescape a string constant here! The
19291929 // string constant might contain a \00 which would not be
19301930 // understood by the string stuff. It is valid to make a
19371937 YY_BREAK
19381938 case 129:
19391939 YY_RULE_SETUP
1940 #line 350 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1940 #line 350 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19411941 { llvmAsmlval.UInt64Val = atoull(yytext); return EUINT64VAL; }
19421942 YY_BREAK
19431943 case 130:
19441944 YY_RULE_SETUP
1945 #line 351 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1945 #line 351 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19461946 {
19471947 uint64_t Val = atoull(yytext+1);
19481948 // +1: we have bigger negative range
19541954 YY_BREAK
19551955 case 131:
19561956 YY_RULE_SETUP
1957 #line 359 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1957 #line 359 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19581958 {
19591959 llvmAsmlval.UInt64Val = HexIntToVal(yytext+3);
19601960 return yytext[0] == 's' ? ESINT64VAL : EUINT64VAL;
19621962 YY_BREAK
19631963 case 132:
19641964 YY_RULE_SETUP
1965 #line 364 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1965 #line 364 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19661966 {
19671967 uint64_t Val = atoull(yytext+1);
19681968 if ((unsigned)Val != Val)
19731973 YY_BREAK
19741974 case 133:
19751975 YY_RULE_SETUP
1976 #line 371 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1976 #line 371 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19771977 {
19781978 uint64_t Val = atoull(yytext+2);
19791979 // +1: we have bigger negative range
19851985 YY_BREAK
19861986 case 134:
19871987 YY_RULE_SETUP
1988 #line 380 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1988 #line 380 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19891989 { llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
19901990 YY_BREAK
19911991 case 135:
19921992 YY_RULE_SETUP
1993 #line 381 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1993 #line 381 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19941994 { llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
19951995 YY_BREAK
19961996 case YY_STATE_EOF(INITIAL):
1997 #line 383 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
1997 #line 383 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
19981998 {
19991999 /* Make sure to free the internal buffers for flex when we are
20002000 * done reading our input!
20052005 YY_BREAK
20062006 case 136:
20072007 YY_RULE_SETUP
2008 #line 391 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2008 #line 391 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
20092009 { /* Ignore whitespace */ }
20102010 YY_BREAK
20112011 case 137:
20122012 YY_RULE_SETUP
2013 #line 392 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2013 #line 392 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
20142014 { return yytext[0]; }
20152015 YY_BREAK
20162016 case 138:
20172017 YY_RULE_SETUP
2018 #line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2018 #line 394 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
20192019 YY_FATAL_ERROR( "flex scanner jammed" );
20202020 YY_BREAK
20212021 #line 2023 "Lexer.cpp"
28962896 return 0;
28972897 }
28982898 #endif
2899 #line 394 "/proj/llvm/llvm-3/lib/AsmParser/Lexer.l"
2900
2899 #line 394 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
2900
233233 x86_fastcallcc { return X86_FASTCALLCC_TOK; }
234234
235235 void { RET_TY(Type::VoidTy, VOID); }
236 bool { RET_TY(Type::BoolTy, BOOL); }
236 bool { RET_TY(Type::Int1Ty, BOOL); }
237237 i8 { RET_TY(Type::Int8Ty, INT8); }
238238 i16 { RET_TY(Type::Int16Ty, INT16); }
239239 i32 { RET_TY(Type::Int32Ty, INT32); }
233233 x86_fastcallcc { return X86_FASTCALLCC_TOK; }
234234
235235 void { RET_TY(Type::VoidTy, VOID); }
236 bool { RET_TY(Type::BoolTy, BOOL); }
236 bool { RET_TY(Type::Int1Ty, BOOL); }
237237 i8 { RET_TY(Type::Int8Ty, INT8); }
238238 i16 { RET_TY(Type::Int16Ty, INT16); }
239239 i32 { RET_TY(Type::Int32Ty, INT32); }
337337
338338
339339 /* Copy the first part of user declarations. */
340 #line 14 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
340 #line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
341341
342342 #include "ParserInternals.h"
343343 #include "llvm/CallingConv.h"
12191219 #endif
12201220
12211221 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
1222 #line 876 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
1222 #line 876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
12231223 typedef union YYSTYPE {
12241224 llvm::Module *ModuleVal;
12251225 llvm::Function *FunctionVal;
27732773 #else
27742774 int
27752775 yyparse ()
2776 ;
2776
27772777 #endif
27782778 #endif
27792779 {
30203020 switch (yyn)
30213021 {
30223022 case 3:
3023 #line 1020 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3023 #line 1020 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30243024 {
30253025 if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range!
30263026 GEN_ERROR("Value too large for type!");
30303030 break;
30313031
30323032 case 31:
3033 #line 1036 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3033 #line 1036 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30343034 { (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
30353035 break;
30363036
30373037 case 32:
3038 #line 1036 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3038 #line 1036 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30393039 { (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
30403040 break;
30413041
30423042 case 33:
3043 #line 1037 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3043 #line 1037 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30443044 { (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
30453045 break;
30463046
30473047 case 34:
3048 #line 1037 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3048 #line 1037 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30493049 { (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
30503050 break;
30513051
30523052 case 35:
3053 #line 1038 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3053 #line 1038 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30543054 { (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
30553055 break;
30563056
30573057 case 36:
3058 #line 1038 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3058 #line 1038 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30593059 { (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
30603060 break;
30613061
30623062 case 37:
3063 #line 1039 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3063 #line 1039 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30643064 { (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
30653065 break;
30663066
30673067 case 38:
3068 #line 1039 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3068 #line 1039 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30693069 { (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
30703070 break;
30713071
30723072 case 39:
3073 #line 1040 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3073 #line 1040 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30743074 { (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
30753075 break;
30763076
30773077 case 40:
3078 #line 1040 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3078 #line 1040 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30793079 { (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
30803080 break;
30813081
30823082 case 41:
3083 #line 1044 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3083 #line 1044 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30843084 { (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
30853085 break;
30863086
30873087 case 42:
3088 #line 1044 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3088 #line 1044 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30893089 { (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
30903090 break;
30913091
30923092 case 43:
3093 #line 1045 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3093 #line 1045 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30943094 { (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
30953095 break;
30963096
30973097 case 44:
3098 #line 1045 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3098 #line 1045 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
30993099 { (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
31003100 break;
31013101
31023102 case 45:
3103 #line 1046 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3103 #line 1046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31043104 { (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
31053105 break;
31063106
31073107 case 46:
3108 #line 1046 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3108 #line 1046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31093109 { (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
31103110 break;
31113111
31123112 case 47:
3113 #line 1047 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3113 #line 1047 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31143114 { (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
31153115 break;
31163116
31173117 case 48:
3118 #line 1047 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3118 #line 1047 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31193119 { (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
31203120 break;
31213121
31223122 case 49:
3123 #line 1048 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3123 #line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31243124 { (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
31253125 break;
31263126
31273127 case 50:
3128 #line 1048 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3128 #line 1048 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31293129 { (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
31303130 break;
31313131
31323132 case 51:
3133 #line 1049 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3133 #line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31343134 { (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
31353135 break;
31363136
31373137 case 52:
3138 #line 1049 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3138 #line 1049 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31393139 { (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
31403140 break;
31413141
31423142 case 53:
3143 #line 1050 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3143 #line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31443144 { (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
31453145 break;
31463146
31473147 case 54:
3148 #line 1050 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3148 #line 1050 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31493149 { (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
31503150 break;
31513151
31523152 case 55:
3153 #line 1051 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3153 #line 1051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31543154 { (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
31553155 break;
31563156
31573157 case 56:
3158 #line 1052 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3158 #line 1052 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31593159 { (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
31603160 break;
31613161
31623162 case 63:
3163 #line 1061 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3163 #line 1061 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31643164 {
31653165 (yyval.StrVal) = (yyvsp[-1].StrVal);
31663166 CHECK_FOR_ERROR
31683168 break;
31693169
31703170 case 64:
3171 #line 1065 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3171 #line 1065 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31723172 {
31733173 (yyval.StrVal) = 0;
31743174 CHECK_FOR_ERROR
31763176 break;
31773177
31783178 case 65:
3179 #line 1071 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3179 #line 1071 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31803180 { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
31813181 break;
31823182
31833183 case 66:
3184 #line 1072 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3184 #line 1072 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31853185 { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
31863186 break;
31873187
31883188 case 67:
3189 #line 1073 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3189 #line 1073 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31903190 { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
31913191 break;
31923192
31933193 case 68:
3194 #line 1074 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3194 #line 1074 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
31953195 { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
31963196 break;
31973197
31983198 case 69:
3199 #line 1075 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3199 #line 1075 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32003200 { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
32013201 break;
32023202
32033203 case 70:
3204 #line 1079 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3204 #line 1079 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32053205 { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
32063206 break;
32073207
32083208 case 71:
3209 #line 1080 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3209 #line 1080 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32103210 { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
32113211 break;
32123212
32133213 case 72:
3214 #line 1081 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3214 #line 1081 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32153215 { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
32163216 break;
32173217
32183218 case 73:
3219 #line 1085 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3219 #line 1085 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32203220 { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
32213221 break;
32223222
32233223 case 74:
3224 #line 1086 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3224 #line 1086 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32253225 { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
32263226 break;
32273227
32283228 case 75:
3229 #line 1087 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3229 #line 1087 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32303230 { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
32313231 break;
32323232
32333233 case 76:
3234 #line 1091 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3234 #line 1091 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32353235 { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
32363236 break;
32373237
32383238 case 77:
3239 #line 1092 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3239 #line 1092 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32403240 { (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
32413241 break;
32423242
32433243 case 78:
3244 #line 1093 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3244 #line 1093 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32453245 { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
32463246 break;
32473247
32483248 case 79:
3249 #line 1094 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3249 #line 1094 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32503250 { (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
32513251 break;
32523252
32533253 case 80:
3254 #line 1095 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3254 #line 1095 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32553255 { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
32563256 break;
32573257
32583258 case 81:
3259 #line 1098 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3259 #line 1098 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32603260 { (yyval.UIntVal) = CallingConv::C; ;}
32613261 break;
32623262
32633263 case 82:
3264 #line 1099 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3264 #line 1099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32653265 { (yyval.UIntVal) = CallingConv::C; ;}
32663266 break;
32673267
32683268 case 83:
3269 #line 1100 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3269 #line 1100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32703270 { (yyval.UIntVal) = CallingConv::CSRet; ;}
32713271 break;
32723272
32733273 case 84:
3274 #line 1101 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3274 #line 1101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32753275 { (yyval.UIntVal) = CallingConv::Fast; ;}
32763276 break;
32773277
32783278 case 85:
3279 #line 1102 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3279 #line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32803280 { (yyval.UIntVal) = CallingConv::Cold; ;}
32813281 break;
32823282
32833283 case 86:
3284 #line 1103 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3284 #line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32853285 { (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
32863286 break;
32873287
32883288 case 87:
3289 #line 1104 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3289 #line 1104 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32903290 { (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
32913291 break;
32923292
32933293 case 88:
3294 #line 1105 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3294 #line 1105 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
32953295 {
32963296 if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
32973297 GEN_ERROR("Calling conv too large!");
33013301 break;
33023302
33033303 case 89:
3304 #line 1112 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3304 #line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33053305 { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
33063306 break;
33073307
33083308 case 90:
3309 #line 1113 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3309 #line 1113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33103310 { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
33113311 break;
33123312
33133313 case 91:
3314 #line 1116 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3314 #line 1116 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33153315 { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
33163316 break;
33173317
33183318 case 92:
3319 #line 1117 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3319 #line 1117 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33203320 {
33213321 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
33223322 ;}
33233323 break;
33243324
33253325 case 93:
3326 #line 1122 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3326 #line 1122 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33273327 { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
33283328 break;
33293329
33303330 case 95:
3331 #line 1126 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3331 #line 1126 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33323332 { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
33333333 break;
33343334
33353335 case 96:
3336 #line 1127 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3336 #line 1127 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33373337 {
33383338 (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
33393339 ;}
33403340 break;
33413341
33423342 case 97:
3343 #line 1134 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3343 #line 1134 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33443344 { (yyval.UIntVal) = 0; ;}
33453345 break;
33463346
33473347 case 98:
3348 #line 1135 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3348 #line 1135 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33493349 {
33503350 (yyval.UIntVal) = (yyvsp[0].UInt64Val);
33513351 if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
33553355 break;
33563356
33573357 case 99:
3358 #line 1141 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3358 #line 1141 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33593359 { (yyval.UIntVal) = 0; ;}
33603360 break;
33613361
33623362 case 100:
3363 #line 1142 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3363 #line 1142 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33643364 {
33653365 (yyval.UIntVal) = (yyvsp[0].UInt64Val);
33663366 if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
33703370 break;
33713371
33723372 case 101:
3373 #line 1150 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3373 #line 1150 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33743374 {
33753375 for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
33763376 if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
33813381 break;
33823382
33833383 case 102:
3384 #line 1158 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3384 #line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33853385 { (yyval.StrVal) = 0; ;}
33863386 break;
33873387
33883388 case 103:
3389 #line 1159 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3389 #line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33903390 { (yyval.StrVal) = (yyvsp[0].StrVal); ;}
33913391 break;
33923392
33933393 case 104:
3394 #line 1164 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3394 #line 1164 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
33953395 {;}
33963396 break;
33973397
33983398 case 105:
3399 #line 1165 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3399 #line 1165 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34003400 {;}
34013401 break;
34023402
34033403 case 106:
3404 #line 1166 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3404 #line 1166 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34053405 {
34063406 CurGV->setSection((yyvsp[0].StrVal));
34073407 free((yyvsp[0].StrVal));
34103410 break;
34113411
34123412 case 107:
3413 #line 1171 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3413 #line 1171 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34143414 {
34153415 if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
34163416 GEN_ERROR("Alignment must be a power of two!");
34203420 break;
34213421
34223422 case 116:
3423 #line 1187 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3423 #line 1187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34243424 {
34253425 (yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
34263426 CHECK_FOR_ERROR
34283428 break;
34293429
34303430 case 117:
3431 #line 1191 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3431 #line 1191 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34323432 {
34333433 (yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
34343434 CHECK_FOR_ERROR
34363436 break;
34373437
34383438 case 118:
3439 #line 1195 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3439 #line 1195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34403440 { // Pointer type?
34413441 if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
34423442 GEN_ERROR("Cannot form a pointer to a basic block");
34473447 break;
34483448
34493449 case 119:
3450 #line 1202 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3450 #line 1202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34513451 { // Named types are also simple types...
34523452 const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
34533453 CHECK_FOR_ERROR
34563456 break;
34573457
34583458 case 120:
3459 #line 1207 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3459 #line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34603460 { // Type UpReference
34613461 if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range!");
34623462 OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
34683468 break;
34693469
34703470 case 121:
3471 #line 1215 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3471 #line 1215 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34723472 {
34733473 std::vector Params;
34743474 std::vector Attrs;
34903490 break;
34913491
34923492 case 122:
3493 #line 1233 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3493 #line 1233 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
34943494 {
34953495 std::vector Params;
34963496 std::vector Attrs;
35113511 break;
35123512
35133513 case 123:
3514 #line 1251 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3514 #line 1251 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35153515 { // Sized array type?
35163516 (yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
35173517 delete (yyvsp[-1].TypeVal);
35203520 break;
35213521
35223522 case 124:
3523 #line 1256 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3523 #line 1256 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35243524 { // Packed array type?
35253525 const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
35263526 if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
35363536 break;
35373537
35383538 case 125:
3539 #line 1268 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3539 #line 1268 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35403540 { // Structure type?
35413541 std::vector Elements;
35423542 for (std::list::iterator I = (yyvsp[-1].TypeList)->begin(),
35503550 break;
35513551
35523552 case 126:
3553 #line 1278 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3553 #line 1278 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35543554 { // Empty structure type?
35553555 (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector()));
35563556 CHECK_FOR_ERROR
35583558 break;
35593559
35603560 case 127:
3561 #line 1282 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3561 #line 1282 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35623562 {
35633563 std::vector Elements;
35643564 for (std::list::iterator I = (yyvsp[-2].TypeList)->begin(),
35723572 break;
35733573
35743574 case 128:
3575 #line 1292 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3575 #line 1292 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35763576 { // Empty structure type?
35773577 (yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector(), true));
35783578 CHECK_FOR_ERROR
35803580 break;
35813581
35823582 case 129:
3583 #line 1299 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3583 #line 1299 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35843584 {
35853585 (yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal);
35863586 (yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs);
35883588 break;
35893589
35903590 case 130:
3591 #line 1306 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3591 #line 1306 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
35923592 {
35933593 if (!UpRefs.empty())
35943594 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
35993599 break;
36003600
36013601 case 131:
3602 #line 1313 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3602 #line 1313 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36033603 {
36043604 (yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
36053605 ;}
36063606 break;
36073607
36083608 case 132:
3609 #line 1318 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3609 #line 1318 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36103610 {
36113611 (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
36123612 (yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
36153615 break;
36163616
36173617 case 133:
3618 #line 1323 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3618 #line 1323 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36193619 {
36203620 ((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
36213621 CHECK_FOR_ERROR
36233623 break;
36243624
36253625 case 135:
3626 #line 1331 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3626 #line 1331 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36273627 {
36283628 (yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
36293629 TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
36343634 break;
36353635
36363636 case 136:
3637 #line 1338 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3637 #line 1338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36383638 {
36393639 (yyval.TypeWithAttrsList) = new TypeWithAttrsList;
36403640 TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
36453645 break;
36463646
36473647 case 137:
3648 #line 1345 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3648 #line 1345 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36493649 {
36503650 (yyval.TypeWithAttrsList) = new TypeWithAttrsList();
36513651 CHECK_FOR_ERROR
36533653 break;
36543654
36553655 case 138:
3656 #line 1353 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3656 #line 1353 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36573657 {
36583658 (yyval.TypeList) = new std::list();
36593659 (yyval.TypeList)->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
36623662 break;
36633663
36643664 case 139:
3665 #line 1358 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3665 #line 1358 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36663666 {
36673667 ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal)); delete (yyvsp[0].TypeVal);
36683668 CHECK_FOR_ERROR
36703670 break;
36713671
36723672 case 140:
3673 #line 1369 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3673 #line 1369 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
36743674 { // Nonempty unsized arr
36753675 if (!UpRefs.empty())
36763676 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
37023702 break;
37033703
37043704 case 141:
3705 #line 1397 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3705 #line 1397 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
37063706 {
37073707 if (!UpRefs.empty())
37083708 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
37223722 break;
37233723
37243724 case 142:
3725 #line 1413 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3725 #line 1413 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
37263726 {
37273727 if (!UpRefs.empty())
37283728 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
37553755 break;
37563756
37573757 case 143:
3758 #line 1442 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3758 #line 1442 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
37593759 { // Nonempty unsized arr
37603760 if (!UpRefs.empty())
37613761 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
37873787 break;
37883788
37893789 case 144:
3790 #line 1470 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3790 #line 1470 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
37913791 {
37923792 const StructType *STy = dyn_cast((yyvsp[-3].TypeVal)->get());
37933793 if (STy == 0)
38163816 break;
38173817
38183818 case 145:
3819 #line 1495 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3819 #line 1495 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
38203820 {
38213821 if (!UpRefs.empty())
38223822 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
38393839 break;
38403840
38413841 case 146:
3842 #line 1514 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3842 #line 1514 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
38433843 {
38443844 const StructType *STy = dyn_cast((yyvsp[-5].TypeVal)->get());
38453845 if (STy == 0)
38683868 break;
38693869
38703870 case 147:
3871 #line 1539 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3871 #line 1539 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
38723872 {
38733873 if (!UpRefs.empty())
38743874 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
38913891 break;
38923892
38933893 case 148:
3894 #line 1558 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3894 #line 1558 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
38953895 {
38963896 if (!UpRefs.empty())
38973897 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
39073907 break;
39083908
39093909 case 149:
3910 #line 1570 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3910 #line 1570 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
39113911 {
39123912 if (!UpRefs.empty())
39133913 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
39183918 break;
39193919
39203920 case 150:
3921 #line 1577 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3921 #line 1577 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
39223922 {
39233923 if (!UpRefs.empty())
39243924 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
39853985 break;
39863986
39873987 case 151:
3988 #line 1640 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
3988 #line 1640 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
39893989 {
39903990 if (!UpRefs.empty())
39913991 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
39993999 break;
40004000
40014001 case 152:
4002 #line 1650 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4002 #line 1650 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40034003 {
40044004 if (!UpRefs.empty())
40054005 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
40134013 break;
40144014
40154015 case 153:
4016 #line 1660 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4016 #line 1660 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40174017 { // integral constants
40184018 if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
40194019 GEN_ERROR("Constant value doesn't fit in type!");
40234023 break;
40244024
40254025 case 154:
4026 #line 1666 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4026 #line 1666 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40274027 { // integral constants
40284028 if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
40294029 GEN_ERROR("Constant value doesn't fit in type!");
40334033 break;
40344034
40354035 case 155:
4036 #line 1672 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4036 #line 1672 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40374037 { // Boolean constants
40384038 (yyval.ConstVal) = ConstantInt::getTrue();
40394039 CHECK_FOR_ERROR
40414041 break;
40424042
40434043 case 156:
4044 #line 1676 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4044 #line 1676 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40454045 { // Boolean constants
40464046 (yyval.ConstVal) = ConstantInt::getFalse();
40474047 CHECK_FOR_ERROR
40494049 break;
40504050
40514051 case 157:
4052 #line 1680 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4052 #line 1680 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40534053 { // Float & Double constants
40544054 if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
40554055 GEN_ERROR("Floating point constant invalid for type!!");
40594059 break;
40604060
40614061 case 158:
4062 #line 1688 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4062 #line 1688 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40634063 {
40644064 if (!UpRefs.empty())
40654065 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
40774077 break;
40784078
40794079 case 159:
4080 #line 1702 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4080 #line 1702 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
40814081 {
40824082 if (!isa((yyvsp[-2].ConstVal)->getType()))
40834083 GEN_ERROR("GetElementPtr requires a pointer operand!");
41024102 break;
41034103
41044104 case 160:
4105 #line 1723 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4106 {
4107 if ((yyvsp[-5].ConstVal)->getType() != Type::BoolTy)
4105 #line 1723 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
4106 {
4107 if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
41084108 GEN_ERROR("Select condition must be of boolean type!");
41094109 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
41104110 GEN_ERROR("Select operand types must match!");
41144114 break;
41154115
41164116 case 161:
4117 #line 1731 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4117 #line 1731 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41184118 {
41194119 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
41204120 GEN_ERROR("Binary operator types must match!");
41244124 break;
41254125
41264126 case 162:
4127 #line 1737 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4127 #line 1737 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41284128 {
41294129 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
41304130 GEN_ERROR("Logical operator types must match!");
41394139 break;
41404140
41414141 case 163:
4142 #line 1748 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4142 #line 1748 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41434143 {
41444144 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
41454145 GEN_ERROR("icmp operand types must match!");
41484148 break;
41494149
41504150 case 164:
4151 #line 1753 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4151 #line 1753 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41524152 {
41534153 if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
41544154 GEN_ERROR("fcmp operand types must match!");
41574157 break;
41584158
41594159 case 165:
4160 #line 1758 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4160 #line 1758 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41614161 {
41624162 if ((yyvsp[-1].ConstVal)->getType() != Type::Int8Ty)
41634163 GEN_ERROR("Shift count for shift constant must be i8 type!");
41704170 break;
41714171
41724172 case 166:
4173 #line 1767 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4173 #line 1767 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41744174 {
41754175 if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
41764176 GEN_ERROR("Invalid extractelement operands!");
41804180 break;
41814181
41824182 case 167:
4183 #line 1773 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4183 #line 1773 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41844184 {
41854185 if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
41864186 GEN_ERROR("Invalid insertelement operands!");
41904190 break;
41914191
41924192 case 168:
4193 #line 1779 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4193 #line 1779 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
41944194 {
41954195 if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
41964196 GEN_ERROR("Invalid shufflevector operands!");
42004200 break;
42014201
42024202 case 169:
4203 #line 1788 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4203 #line 1788 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42044204 {
42054205 ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
42064206 CHECK_FOR_ERROR
42084208 break;
42094209
42104210 case 170:
4211 #line 1792 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4211 #line 1792 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42124212 {
42134213 (yyval.ConstVector) = new std::vector();
42144214 (yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
42174217 break;
42184218
42194219 case 171:
4220 #line 1800 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4220 #line 1800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42214221 { (yyval.BoolVal) = false; ;}
42224222 break;
42234223
42244224 case 172:
4225 #line 1800 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4225 #line 1800 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42264226 { (yyval.BoolVal) = true; ;}
42274227 break;
42284228
42294229 case 173:
4230 #line 1811 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4230 #line 1811 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42314231 {
42324232 (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
42334233 CurModule.ModuleDone();
42364236 break;
42374237
42384238 case 174:
4239 #line 1816 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4239 #line 1816 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42404240 {
42414241 (yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
42424242 CurModule.ModuleDone();
42454245 break;
42464246
42474247 case 177:
4248 #line 1829 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4248 #line 1829 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42494249 { CurFun.isDeclare = false ;}
42504250 break;
42514251
42524252 case 178:
4253 #line 1829 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4253 #line 1829 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42544254 {
42554255 CurFun.FunctionDone();
42564256 CHECK_FOR_ERROR
42584258 break;
42594259
42604260 case 179:
4261 #line 1833 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4261 #line 1833 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42624262 { CurFun.isDeclare = true; ;}
42634263 break;
42644264
42654265 case 180:
4266 #line 1833 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4266 #line 1833 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42674267 {
42684268 CHECK_FOR_ERROR
42694269 ;}
42704270 break;
42714271
42724272 case 181:
4273 #line 1836 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4273 #line 1836 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42744274 {
42754275 CHECK_FOR_ERROR
42764276 ;}
42774277 break;
42784278
42794279 case 182:
4280 #line 1839 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4280 #line 1839 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42814281 {
42824282 // Emit an error if there are any unresolved types left.
42834283 if (!CurModule.LateResolveTypes.empty()) {
42934293 break;
42944294
42954295 case 183:
4296 #line 1851 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4296 #line 1851 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
42974297 {
42984298 if (!UpRefs.empty())
42994299 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
43214321 break;
43224322
43234323 case 184:
4324 #line 1875 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4324 #line 1875 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43254325 {
43264326 ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
43274327
43364336 break;
43374337
43384338 case 185:
4339 #line 1886 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4339 #line 1886 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43404340 { /* "Externally Visible" Linkage */
43414341 if ((yyvsp[0].ConstVal) == 0)
43424342 GEN_ERROR("Global value initializer is not a constant!");
43474347 break;
43484348
43494349 case 186:
4350 #line 1892 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4350 #line 1892 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43514351 {
43524352 CurGV = 0;
43534353 ;}
43544354 break;
43554355
43564356 case 187:
4357 #line 1895 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4357 #line 1895 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43584358 {
43594359 if ((yyvsp[0].ConstVal) == 0)
43604360 GEN_ERROR("Global value initializer is not a constant!");
43644364 break;
43654365
43664366 case 188:
4367 #line 1900 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4367 #line 1900 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43684368 {
43694369 CurGV = 0;
43704370 ;}
43714371 break;
43724372
43734373 case 189:
4374 #line 1903 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4374 #line 1903 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43754375 {
43764376 if (!UpRefs.empty())
43774377 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
43824382 break;
43834383
43844384 case 190:
4385 #line 1909 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4385 #line 1909 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43864386 {
43874387 CurGV = 0;
43884388 CHECK_FOR_ERROR
43904390 break;
43914391
43924392 case 191:
4393 #line 1913 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4393 #line 1913 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
43944394 {
43954395 CHECK_FOR_ERROR
43964396 ;}
43974397 break;
43984398
43994399 case 192:
4400 #line 1916 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4400 #line 1916 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44014401 {
44024402 CHECK_FOR_ERROR
44034403 ;}
44044404 break;
44054405
44064406 case 193:
4407 #line 1922 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4407 #line 1922 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44084408 {
44094409 const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
44104410 char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
44204420 break;
44214421
44224422 case 194:
4423 #line 1935 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4423 #line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44244424 { (yyval.Endianness) = Module::BigEndian; ;}
44254425 break;
44264426
44274427 case 195:
4428 #line 1936 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4428 #line 1936 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44294429 { (yyval.Endianness) = Module::LittleEndian; ;}
44304430 break;
44314431
44324432 case 196:
4433 #line 1938 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4433 #line 1938 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44344434 {
44354435 CurModule.CurrentModule->setEndianness((yyvsp[0].Endianness));
44364436 CHECK_FOR_ERROR
44384438 break;
44394439
44404440 case 197:
4441 #line 1942 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4441 #line 1942 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44424442 {
44434443 if ((yyvsp[0].UInt64Val) == 32)
44444444 CurModule.CurrentModule->setPointerSize(Module::Pointer32);
44514451 break;
44524452
44534453 case 198:
4454 #line 1951 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4454 #line 1951 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44554455 {
44564456 CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
44574457 free((yyvsp[0].StrVal));
44594459 break;
44604460
44614461 case 199:
4462 #line 1955 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4462 #line 1955 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44634463 {
44644464 CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
44654465 free((yyvsp[0].StrVal));
44674467 break;
44684468
44694469 case 201:
4470 #line 1962 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4470 #line 1962 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44714471 {
44724472 CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
44734473 free((yyvsp[0].StrVal));
44764476 break;
44774477
44784478 case 202:
4479 #line 1967 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4479 #line 1967 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44804480 {
44814481 CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
44824482 free((yyvsp[0].StrVal));
44854485 break;
44864486
44874487 case 203:
4488 #line 1972 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4488 #line 1972 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44894489 {
44904490 CHECK_FOR_ERROR
44914491 ;}
44924492 break;
44934493
44944494 case 207:
4495 #line 1982 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4495 #line 1982 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
44964496 { (yyval.StrVal) = 0; ;}
44974497 break;
44984498
44994499 case 208:
4500 #line 1984 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4500 #line 1984 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45014501 {
45024502 if (!UpRefs.empty())
45034503 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
45114511 break;
45124512
45134513 case 209:
4514 #line 1994 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4514 #line 1994 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45154515 {
45164516 if (!UpRefs.empty())
45174517 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
45254525 break;
45264526
45274527 case 210:
4528 #line 2005 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4528 #line 2005 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45294529 {
45304530 (yyval.ArgList) = (yyvsp[0].ArgList);
45314531 CHECK_FOR_ERROR
45334533 break;
45344534
45354535 case 211:
4536 #line 2009 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4536 #line 2009 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45374537 {
45384538 (yyval.ArgList) = (yyvsp[-2].ArgList);
45394539 struct ArgListEntry E;
45464546 break;
45474547
45484548 case 212:
4549 #line 2018 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4549 #line 2018 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45504550 {
45514551 (yyval.ArgList) = new ArgListType;
45524552 struct ArgListEntry E;
45594559 break;
45604560
45614561 case 213:
4562 #line 2027 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4562 #line 2027 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45634563 {
45644564 (yyval.ArgList) = 0;
45654565 CHECK_FOR_ERROR
45674567 break;
45684568
45694569 case 214:
4570 #line 2033 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4570 #line 2033 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
45714571 {
45724572 UnEscapeLexed((yyvsp[-6].StrVal));
45734573 std::string FunctionName((yyvsp[-6].StrVal));
46744674 break;
46754675
46764676 case 217:
4677 #line 2139 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4677 #line 2139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
46784678 {
46794679 (yyval.FunctionVal) = CurFun.CurrentFunction;
46804680
46854685 break;
46864686
46874687 case 220:
4688 #line 2149 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4688 #line 2149 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
46894689 {
46904690 (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
46914691 CHECK_FOR_ERROR
46934693 break;
46944694
46954695 case 221:
4696 #line 2154 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4696 #line 2154 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
46974697 {
46984698 CurFun.CurrentFunction->setLinkage((yyvsp[-1].Linkage));
46994699 (yyval.FunctionVal) = CurFun.CurrentFunction;
47034703 break;
47044704
47054705 case 222:
4706 #line 2165 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4706 #line 2165 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47074707 {
47084708 (yyval.BoolVal) = false;
47094709 CHECK_FOR_ERROR
47114711 break;
47124712
47134713 case 223:
4714 #line 2169 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4714 #line 2169 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47154715 {
47164716 (yyval.BoolVal) = true;
47174717 CHECK_FOR_ERROR
47194719 break;
47204720
47214721 case 224:
4722 #line 2174 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4722 #line 2174 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47234723 { // A reference to a direct constant
47244724 (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
47254725 CHECK_FOR_ERROR
47274727 break;
47284728
47294729 case 225:
4730 #line 2178 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4730 #line 2178 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47314731 {
47324732 (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
47334733 CHECK_FOR_ERROR
47354735 break;
47364736
47374737 case 226:
4738 #line 2182 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4738 #line 2182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47394739 { // Perhaps it's an FP constant?
47404740 (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
47414741 CHECK_FOR_ERROR
47434743 break;
47444744
47454745 case 227:
4746 #line 2186 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4746 #line 2186 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47474747 {
47484748 (yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
47494749 CHECK_FOR_ERROR
47514751 break;
47524752
47534753 case 228:
4754 #line 2190 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4754 #line 2190 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47554755 {
47564756 (yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
47574757 CHECK_FOR_ERROR
47594759 break;
47604760
47614761 case 229:
4762 #line 2194 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4762 #line 2194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47634763 {
47644764 (yyval.ValIDVal) = ValID::createNull();
47654765 CHECK_FOR_ERROR
47674767 break;
47684768
47694769 case 230:
4770 #line 2198 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4770 #line 2198 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47714771 {
47724772 (yyval.ValIDVal) = ValID::createUndef();
47734773 CHECK_FOR_ERROR
47754775 break;
47764776
47774777 case 231:
4778 #line 2202 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4778 #line 2202 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47794779 { // A vector zero constant.
47804780 (yyval.ValIDVal) = ValID::createZeroInit();
47814781 CHECK_FOR_ERROR
47834783 break;
47844784
47854785 case 232:
4786 #line 2206 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4786 #line 2206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
47874787 { // Nonempty unsized packed vector
47884788 const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
47894789 int NumElements = (yyvsp[-1].ConstVector)->size();
48124812 break;
48134813
48144814 case 233:
4815 #line 2231 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4815 #line 2231 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48164816 {
48174817 (yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
48184818 CHECK_FOR_ERROR
48204820 break;
48214821
48224822 case 234:
4823 #line 2235 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4823 #line 2235 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48244824 {
48254825 char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
48264826 std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
48344834 break;
48354835
48364836 case 235:
4837 #line 2249 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4837 #line 2249 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48384838 { // Is it an integer reference...?
48394839 (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal));
48404840 CHECK_FOR_ERROR
48424842 break;
48434843
48444844 case 236:
4845 #line 2253 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4845 #line 2253 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48464846 { // Is it a named reference...?
48474847 (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal));
48484848 CHECK_FOR_ERROR
48504850 break;
48514851
48524852 case 239:
4853 #line 2265 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4853 #line 2265 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48544854 {
48554855 if (!UpRefs.empty())
48564856 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
48614861 break;
48624862
48634863 case 240:
4864 #line 2274 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4864 #line 2274 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48654865 {
48664866 (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
48674867 CHECK_FOR_ERROR
48694869 break;
48704870
48714871 case 241:
4872 #line 2278 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4872 #line 2278 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48734873 { // Do not allow functions with 0 basic blocks
48744874 (yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
48754875 CHECK_FOR_ERROR
48774877 break;
48784878
48794879 case 242:
4880 #line 2287 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4880 #line 2287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48814881 {
48824882 setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
48834883 CHECK_FOR_ERROR
48914891 break;
48924892
48934893 case 243:
4894 #line 2298 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4894 #line 2298 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
48954895 {
48964896 if (CastInst *CI1 = dyn_cast((yyvsp[0].InstVal)))
48974897 if (CastInst *CI2 = dyn_cast(CI1->getOperand(0)))
49044904 break;
49054905
49064906 case 244:
4907 #line 2307 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4907 #line 2307 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49084908 {
49094909 (yyval.BasicBlockVal) = getBBVal(ValID::create((int)CurFun.NextBBNum++), true);
49104910 CHECK_FOR_ERROR
49204920 break;
49214921
49224922 case 245:
4923 #line 2319 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4923 #line 2319 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49244924 {
49254925 (yyval.BasicBlockVal) = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
49264926 CHECK_FOR_ERROR
49364936 break;
49374937
49384938 case 246:
4939 #line 2332 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4939 #line 2332 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49404940 { // Return with a result...
49414941 (yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
49424942 CHECK_FOR_ERROR
49444944 break;
49454945
49464946 case 247:
4947 #line 2336 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4947 #line 2336 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49484948 { // Return with no result...
49494949 (yyval.TermInstVal) = new ReturnInst();
49504950 CHECK_FOR_ERROR
49524952 break;
49534953
49544954 case 248:
4955 #line 2340 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4955 #line 2340 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49564956 { // Unconditional Branch...
49574957 BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
49584958 CHECK_FOR_ERROR
49614961 break;
49624962
49634963 case 249:
4964 #line 2345 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4964 #line 2345 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49654965 {
49664966 BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
49674967 CHECK_FOR_ERROR
49684968 BasicBlock* tmpBBB = getBBVal((yyvsp[0].ValIDVal));
49694969 CHECK_FOR_ERROR
4970 Value* tmpVal = getVal(Type::BoolTy, (yyvsp[-6].ValIDVal));
4970 Value* tmpVal = getVal(Type::Int1Ty, (yyvsp[-6].ValIDVal));
49714971 CHECK_FOR_ERROR
49724972 (yyval.TermInstVal) = new BranchInst(tmpBBA, tmpBBB, tmpVal);
49734973 ;}
49744974 break;
49754975
49764976 case 250:
4977 #line 2354 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
4977 #line 2354 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
49784978 {
49794979 Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
49804980 CHECK_FOR_ERROR
49974997 break;
49984998
49994999 case 251:
5000 #line 2373 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5000 #line 2373 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
50015001 {
50025002 Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
50035003 CHECK_FOR_ERROR
50105010 break;
50115011
50125012 case 252:
5013 #line 2383 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5013 #line 2383 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
50145014 {
50155015
50165016 // Handle the short syntax
50805080 break;
50815081
50825082 case 253:
5083 #line 2449 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5083 #line 2449 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
50845084 {
50855085 (yyval.TermInstVal) = new UnwindInst();
50865086 CHECK_FOR_ERROR
50885088 break;
50895089
50905090 case 254:
5091 #line 2453 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5091 #line 2453 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
50925092 {
50935093 (yyval.TermInstVal) = new UnreachableInst();
50945094 CHECK_FOR_ERROR
50965096 break;
50975097
50985098 case 255:
5099 #line 2460 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5099 #line 2460 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51005100 {
51015101 (yyval.JumpTable) = (yyvsp[-5].JumpTable);
51025102 Constant *V = cast(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
51115111 break;
51125112
51135113 case 256:
5114 #line 2471 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5114 #line 2471 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51155115 {
51165116 (yyval.JumpTable) = new std::vector >();
51175117 Constant *V = cast(getValNonImprovising((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
51275127 break;
51285128
51295129 case 257:
5130 #line 2484 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5130 #line 2484 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51315131 {
51325132 // Is this definition named?? if so, assign the name...
51335133 setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
51395139 break;
51405140
51415141 case 258:
5142 #line 2493 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5142 #line 2493 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51435143 { // Used for PHI nodes
51445144 if (!UpRefs.empty())
51455145 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
51545154 break;
51555155
51565156 case 259:
5157 #line 2504 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5157 #line 2504 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51585158 {
51595159 (yyval.PHIList) = (yyvsp[-6].PHIList);
51605160 Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
51665166 break;
51675167
51685168 case 260:
5169 #line 2514 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5169 #line 2514 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51705170 {
51715171 if (!UpRefs.empty())
51725172 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
51785178 break;
51795179
51805180 case 261:
5181 #line 2522 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5181 #line 2522 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51825182 {
51835183 if (!UpRefs.empty())
51845184 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
51905190 break;
51915191
51925192 case 262:
5193 #line 2530 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5193 #line 2530 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51945194 { (yyval.ValueRefList) = new ValueRefList(); ;}
51955195 break;
51965196
51975197 case 263:
5198 #line 2533 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5198 #line 2533 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
51995199 { (yyval.ValueList) = new std::vector(); ;}
52005200 break;
52015201
52025202 case 264:
5203 #line 2534 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5203 #line 2534 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52045204 {
52055205 (yyval.ValueList) = (yyvsp[-2].ValueList);
52065206 (yyval.ValueList)->push_back((yyvsp[0].ValueVal));
52095209 break;
52105210
52115211 case 265:
5212 #line 2541 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5212 #line 2541 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52135213 {
52145214 (yyval.BoolVal) = true;
52155215 CHECK_FOR_ERROR
52175217 break;
52185218
52195219 case 266:
5220 #line 2545 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5220 #line 2545 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52215221 {
52225222 (yyval.BoolVal) = false;
52235223 CHECK_FOR_ERROR
52255225 break;
52265226
52275227 case 267:
5228 #line 2550 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5228 #line 2550 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52295229 {
52305230 if (!UpRefs.empty())
52315231 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
52505250 break;
52515251
52525252 case 268:
5253 #line 2571 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5253 #line 2571 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52545254 {
52555255 if (!UpRefs.empty())
52565256 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
52715271 break;
52725272
52735273 case 269:
5274 #line 2588 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5274 #line 2588 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52755275 {
52765276 if (!UpRefs.empty())
52775277 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
52885288 break;
52895289
52905290 case 270:
5291 #line 2601 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5291 #line 2601 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
52925292 {
52935293 if (!UpRefs.empty())
52945294 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
53055305 break;
53065306
53075307 case 271:
5308 #line 2614 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5308 #line 2614 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53095309 {
53105310 cerr << "WARNING: Use of eliminated 'not' instruction:"
53115311 << " Replacing with 'xor'.\n";
53225322 break;
53235323
53245324 case 272:
5325 #line 2627 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5325 #line 2627 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53265326 {
53275327 if ((yyvsp[0].ValueVal)->getType() != Type::Int8Ty)
53285328 GEN_ERROR("Shift amount must be i8 type!");
53355335 break;
53365336
53375337 case 273:
5338 #line 2636 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5338 #line 2636 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53395339 {
53405340 if (!UpRefs.empty())
53415341 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
53525352 break;
53535353
53545354 case 274:
5355 #line 2649 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5356 {
5357 if ((yyvsp[-4].ValueVal)->getType() != Type::BoolTy)
5355 #line 2649 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
5356 {
5357 if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
53585358 GEN_ERROR("select condition must be boolean!");
53595359 if ((yyvsp[-2].ValueVal)->getType() != (yyvsp[0].ValueVal)->getType())
53605360 GEN_ERROR("select value types should match!");
53645364 break;
53655365
53665366 case 275:
5367 #line 2657 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5367 #line 2657 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53685368 {
53695369 if (!UpRefs.empty())
53705370 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
53755375 break;
53765376
53775377 case 276:
5378 #line 2664 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5378 #line 2664 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53795379 {
53805380 if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
53815381 GEN_ERROR("Invalid extractelement operands!");
53855385 break;
53865386
53875387 case 277:
5388 #line 2670 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5388 #line 2670 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53895389 {
53905390 if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
53915391 GEN_ERROR("Invalid insertelement operands!");
53955395 break;
53965396
53975397 case 278:
5398 #line 2676 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5398 #line 2676 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
53995399 {
54005400 if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
54015401 GEN_ERROR("Invalid shufflevector operands!");
54055405 break;
54065406
54075407 case 279:
5408 #line 2682 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5408 #line 2682 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
54095409 {
54105410 const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
54115411 if (!Ty->isFirstClassType())
54245424 break;
54255425
54265426 case 280:
5427 #line 2698 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5427 #line 2698 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
54285428 {
54295429
54305430 // Handle the short syntax
54905490 break;
54915491
54925492 case 281:
5493 #line 2760 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5493 #line 2760 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
54945494 {
54955495 (yyval.InstVal) = (yyvsp[0].InstVal);
54965496 CHECK_FOR_ERROR
54985498 break;
54995499
55005500 case 282:
5501 #line 2765 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5501 #line 2765 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55025502 {
55035503 (yyval.BoolVal) = true;
55045504 CHECK_FOR_ERROR
55065506 break;
55075507
55085508 case 283:
5509 #line 2769 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5509 #line 2769 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55105510 {
55115511 (yyval.BoolVal) = false;
55125512 CHECK_FOR_ERROR
55145514 break;
55155515
55165516 case 284:
5517 #line 2776 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5517 #line 2776 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55185518 {
55195519 if (!UpRefs.empty())
55205520 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
55255525 break;
55265526
55275527 case 285:
5528 #line 2783 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5528 #line 2783 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55295529 {
55305530 if (!UpRefs.empty())
55315531 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
55375537 break;
55385538
55395539 case 286:
5540 #line 2791 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5540 #line 2791 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55415541 {
55425542 if (!UpRefs.empty())
55435543 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
55485548 break;
55495549
55505550 case 287:
5551 #line 2798 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5551 #line 2798 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55525552 {
55535553 if (!UpRefs.empty())
55545554 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
55605560 break;
55615561
55625562 case 288:
5563 #line 2806 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5563 #line 2806 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55645564 {
55655565 if (!isa((yyvsp[0].ValueVal)->getType()))
55665566 GEN_ERROR("Trying to free nonpointer type " +
55715571 break;
55725572
55735573 case 289:
5574 #line 2814 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5574 #line 2814 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55755575 {
55765576 if (!UpRefs.empty())
55775577 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
55895589 break;
55905590
55915591 case 290:
5592 #line 2828 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5592 #line 2828 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
55935593 {
55945594 if (!UpRefs.empty())
55955595 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
56105610 break;
56115611
56125612 case 291:
5613 #line 2845 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5613 #line 2845 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
56145614 {
56155615 if (!UpRefs.empty())
56165616 GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
59015901 }
59025902
59035903
5904 #line 2862 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
5904 #line 2862 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
59055905
59065906
59075907 // common code from the two 'RunVMAsmParser' functions
302302
303303
304304 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
305 #line 876 "/developer/zsth/llvm-gcc-dev/HEAD/llvm/llvm/lib/AsmParser/llvmAsmParser.y"
305 #line 876 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
306306 typedef union YYSTYPE {
307307 llvm::Module *ModuleVal;
308308 llvm::Function *FunctionVal;
17201720 CHECK_FOR_ERROR
17211721 }
17221722 | SELECT '(' ConstVal ',' ConstVal ',' ConstVal ')' {
1723 if ($3->getType() != Type::BoolTy)
1723 if ($3->getType() != Type::Int1Ty)
17241724 GEN_ERROR("Select condition must be of boolean type!");
17251725 if ($5->getType() != $7->getType())
17261726 GEN_ERROR("Select operand types must match!");
23462346 CHECK_FOR_ERROR
23472347 BasicBlock* tmpBBB = getBBVal($9);
23482348 CHECK_FOR_ERROR
2349 Value* tmpVal = getVal(Type::BoolTy, $3);
2349 Value* tmpVal = getVal(Type::Int1Ty, $3);
23502350 CHECK_FOR_ERROR
23512351 $$ = new BranchInst(tmpBBA, tmpBBB, tmpVal);
23522352 }
26462646 delete $4;
26472647 }
26482648 | SELECT ResolvedVal ',' ResolvedVal ',' ResolvedVal {
2649 if ($2->getType() != Type::BoolTy)
2649 if ($2->getType() != Type::Int1Ty)
26502650 GEN_ERROR("select condition must be boolean!");
26512651 if ($4->getType() != $6->getType())
26522652 GEN_ERROR("select value types should match!");
17201720 CHECK_FOR_ERROR
17211721 }
17221722 | SELECT '(' ConstVal ',' ConstVal ',' ConstVal ')' {
1723 if ($3->getType() != Type::BoolTy)
1723 if ($3->getType() != Type::Int1Ty)
17241724 GEN_ERROR("Select condition must be of boolean type!");
17251725 if ($5->getType() != $7->getType())
17261726 GEN_ERROR("Select operand types must match!");
23462346 CHECK_FOR_ERROR
23472347 BasicBlock* tmpBBB = getBBVal($9);
23482348 CHECK_FOR_ERROR
2349 Value* tmpVal = getVal(Type::BoolTy, $3);
2349 Value* tmpVal = getVal(Type::Int1Ty, $3);
23502350 CHECK_FOR_ERROR
23512351 $$ = new BranchInst(tmpBBA, tmpBBB, tmpVal);
23522352 }
26462646 delete $4;
26472647 }
26482648 | SELECT ResolvedVal ',' ResolvedVal ',' ResolvedVal {
2649 if ($2->getType() != Type::BoolTy)
2649 if ($2->getType() != Type::Int1Ty)
26502650 GEN_ERROR("select condition must be boolean!");
26512651 if ($4->getType() != $6->getType())
26522652 GEN_ERROR("select value types should match!");
683683 case Instruction::Select:
684684 if (Oprnds.size() != 3)
685685 error("Invalid Select instruction!");
686 Result = new SelectInst(getValue(Type::BoolTyID, Oprnds[0]),
686 Result = new SelectInst(getValue(Type::Int1TyID, Oprnds[0]),
687687 getValue(iType, Oprnds[1]),
688688 getValue(iType, Oprnds[2]));
689689 break;
729729 Result = new BranchInst(getBasicBlock(Oprnds[0]));
730730 else if (Oprnds.size() == 3)
731731 Result = new BranchInst(getBasicBlock(Oprnds[0]),
732 getBasicBlock(Oprnds[1]), getValue(Type::BoolTyID , Oprnds[2]));
732 getBasicBlock(Oprnds[1]), getValue(Type::Int1TyID , Oprnds[2]));
733733 else
734734 error("Invalid number of operands for a 'br' instruction!");
735735 break;
13981398 const Type *Ty = getType(TypeID);
13991399 Constant *Result = 0;
14001400 switch (Ty->getTypeID()) {
1401 case Type::BoolTyID: {
1401 case Type::Int1TyID: {
14021402 unsigned Val = read_vbr_uint();
14031403 if (Val != 0 && Val != 1)
14041404 error("Invalid boolean value read.");
320320 }
321321
322322 switch (CPV->getType()->getTypeID()) {
323 case Type::BoolTyID: // Boolean Types
323 case Type::Int1TyID: // Boolean Types
324324 if (cast(CPV)->getBoolValue())
325325 output_vbr(1U);
326326 else
388388 if (CV->isNullValue() || isa(CV))
389389 O << "0";
390390 else if (const ConstantInt *CI = dyn_cast(CV)) {
391 if (CI->getType() == Type::BoolTy) {
391 if (CI->getType() == Type::Int1Ty) {
392392 assert(CI->getBoolValue());
393393 O << "1";
394394 } else O << CI->getSExtValue();
916916 void AsmPrinter::printDataDirective(const Type *type) {
917917 const TargetData *TD = TM.getTargetData();
918918 switch (type->getTypeID()) {
919 case Type::BoolTyID:
919 case Type::Int1TyID:
920920 case Type::Int8TyID:
921921 O << TAI->getData8bitsDirective();
922922 break;
728728 uint64_t val;
729729
730730 switch (PC->getType()->getTypeID()) {
731 case Type::BoolTyID:
731 case Type::Int1TyID:
732732 case Type::Int8TyID:
733733 ptr[0] = cast(PC)->getZExtValue();
734734 break;
362362 Fields.push_back(Type::Int64Ty);
363363 }
364364 virtual void Apply(bool &Field) {
365 Fields.push_back(Type::BoolTy);
365 Fields.push_back(Type::Int1Ty);
366366 }
367367 virtual void Apply(std::string &Field) {
368368 Fields.push_back(SR.getStrPtrType());
425425 }
426426 virtual void Apply(bool &Field) {
427427 Constant *C = CI->getOperand(I++);
428