Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35813 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/Lexer.cpp.cvs b/lib/AsmParser/Lexer.cpp.cvs
index 0092f7f..cbf2287 100644
--- a/lib/AsmParser/Lexer.cpp.cvs
+++ b/lib/AsmParser/Lexer.cpp.cvs
@@ -869,7 +869,7 @@
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
-#line 1 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 1 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
#define INITIAL 0
/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
//
@@ -884,7 +884,7 @@
//
//===----------------------------------------------------------------------===*/
#define YY_NEVER_INTERACTIVE 1
-#line 28 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 28 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
#include "ParserInternals.h"
#include "llvm/Module.h"
#include <list>
@@ -1168,7 +1168,7 @@
register char *yy_cp = NULL, *yy_bp = NULL;
register int yy_act;
-#line 190 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 190 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
#line 1175 "Lexer.cpp"
@@ -1264,257 +1264,257 @@
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
-#line 192 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 192 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ /* Ignore comments for now */ }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 194 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 194 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return BEGINTOK; }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 195 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 195 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ENDTOK; }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 196 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 196 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return TRUETOK; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 197 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 197 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return FALSETOK; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 198 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 198 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DECLARE; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 199 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 199 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DEFINE; }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 200 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 200 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return GLOBAL; }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 201 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 201 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return CONSTANT; }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 202 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 202 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return INTERNAL; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 203 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 203 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return LINKONCE; }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 204 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 204 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return WEAK; }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 205 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 205 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return APPENDING; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 206 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 206 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DLLIMPORT; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 207 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 207 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DLLEXPORT; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 208 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 208 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return HIDDEN; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 209 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 209 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return EXTERN_WEAK; }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 210 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 210 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return EXTERNAL; }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 211 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 211 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ZEROINITIALIZER; }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 212 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 212 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DOTDOTDOT; }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 213 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 213 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return UNDEF; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 214 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 214 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return NULL_TOK; }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 215 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 215 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return TO; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 216 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 216 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return TAIL; }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 217 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 217 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return TARGET; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 218 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 218 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return TRIPLE; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 219 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 219 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DEPLIBS; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 220 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 220 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return DATALAYOUT; }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 221 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 221 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return VOLATILE; }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 222 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 222 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ALIGN; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 223 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 223 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SECTION; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 224 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 224 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return MODULE; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 225 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 225 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ASM_TOK; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 226 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 226 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SIDEEFFECT; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 228 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 228 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return CC_TOK; }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 229 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 229 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return CCC_TOK; }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 230 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 230 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return FASTCC_TOK; }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 231 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 231 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return COLDCC_TOK; }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 232 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 232 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return X86_STDCALLCC_TOK; }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 233 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 233 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return X86_FASTCALLCC_TOK; }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 235 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 235 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return INREG; }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 236 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 236 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SRET; }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 237 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 237 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return NOUNWIND; }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 238 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 238 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return NORETURN; }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 240 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 240 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TY(Type::VoidTy, VOID); }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 241 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 241 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TY(Type::FloatTy, FLOAT); }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 242 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 242 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TY(Type::DoubleTy,DOUBLE);}
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 243 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 243 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TY(Type::LabelTy, LABEL); }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 244 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 244 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return TYPE; }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 245 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 245 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return OPAQUE; }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 246 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 246 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ uint64_t NumBits = atoull(yytext+1);
if (NumBits < IntegerType::MIN_INT_BITS ||
NumBits > IntegerType::MAX_INT_BITS)
@@ -1525,347 +1525,347 @@
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 254 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 254 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, Add, ADD); }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 255 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 255 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, Sub, SUB); }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 256 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 256 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, Mul, MUL); }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 257 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 257 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 258 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 258 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 259 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 259 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 260 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 260 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, URem, UREM); }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 261 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 261 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, SRem, SREM); }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 262 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 262 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, FRem, FREM); }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 263 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 263 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, Shl, SHL); }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 264 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 264 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, LShr, LSHR); }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 265 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 265 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, AShr, ASHR); }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 266 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 266 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, And, AND); }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 267 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 267 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, Or , OR ); }
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 268 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 268 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(BinaryOpVal, Xor, XOR); }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 269 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 269 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, ICmp, ICMP); }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 270 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 270 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, FCmp, FCMP); }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 272 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 272 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return EQ; }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 273 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 273 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return NE; }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 274 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 274 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SLT; }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 275 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 275 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SGT; }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 276 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 276 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SLE; }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 277 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 277 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return SGE; }
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 278 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 278 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ULT; }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 279 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 279 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return UGT; }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 280 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 280 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ULE; }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 281 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 281 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return UGE; }
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 282 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 282 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return OEQ; }
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 283 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 283 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ONE; }
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 284 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 284 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return OLT; }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 285 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 285 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return OGT; }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 286 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 286 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return OLE; }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 287 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 287 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return OGE; }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 288 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 288 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return ORD; }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 289 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 289 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return UNO; }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 290 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 290 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return UEQ; }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 291 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 291 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return UNE; }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 293 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 293 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 294 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 294 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, Call, CALL); }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 295 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 295 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, Trunc, TRUNC); }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 296 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 296 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, ZExt, ZEXT); }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 297 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 297 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, SExt, SEXT); }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 298 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 298 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 299 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 299 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, FPExt, FPEXT); }
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 300 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 300 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 301 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 301 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 302 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 302 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 303 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 303 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 304 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 304 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 305 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 305 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 306 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 306 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(CastOpVal, BitCast, BITCAST); }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 307 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 307 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, Select, SELECT); }
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 308 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 308 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, VAArg , VAARG); }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 309 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 309 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(TermOpVal, Ret, RET); }
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 310 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 310 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(TermOpVal, Br, BR); }
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 311 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 311 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(TermOpVal, Switch, SWITCH); }
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 312 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 312 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(TermOpVal, Invoke, INVOKE); }
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 313 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 313 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(TermOpVal, Unwind, UNWIND); }
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 314 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 314 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 316 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 316 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(MemOpVal, Malloc, MALLOC); }
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 317 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 317 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 318 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 318 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(MemOpVal, Free, FREE); }
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 319 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 319 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(MemOpVal, Load, LOAD); }
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 320 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 320 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(MemOpVal, Store, STORE); }
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 321 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 321 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 323 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 323 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 324 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 324 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 325 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 325 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 328 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 328 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
UnEscapeLexed(yytext+1);
llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
@@ -1874,7 +1874,7 @@
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 333 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 333 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
UnEscapeLexed(yytext+1);
llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
@@ -1883,7 +1883,7 @@
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 338 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 338 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
yytext[strlen(yytext)-1] = 0; // nuke colon
UnEscapeLexed(yytext);
@@ -1893,7 +1893,7 @@
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 344 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 344 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
UnEscapeLexed(yytext+1);
@@ -1903,7 +1903,7 @@
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 351 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 351 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ // Note that we cannot unescape a string constant here! The
// string constant might contain a \00 which would not be
// understood by the string stuff. It is valid to make a
@@ -1916,7 +1916,7 @@
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 360 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 360 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
yytext[strlen(yytext)-1] = 0; // nuke end quote
llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
@@ -1925,7 +1925,7 @@
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 366 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 366 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ int len = strlen(yytext);
uint32_t numBits = ((len * 64) / 19) + 1;
APInt Tmp(numBits, yytext, len, 10);
@@ -1943,7 +1943,7 @@
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 380 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 380 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ int len = strlen(yytext);
uint32_t numBits = (((len-1) * 64) / 19) + 2;
APInt Tmp(numBits, yytext, len, 10);
@@ -1961,7 +1961,7 @@
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 395 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 395 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ int len = strlen(yytext+3) - 3;
uint32_t bits = len * 4;
APInt Tmp(bits, yytext+3, len, 16);
@@ -1982,7 +1982,7 @@
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 413 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 413 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
uint64_t Val = atoull(yytext+1);
if ((unsigned)Val != Val)
@@ -1993,7 +1993,7 @@
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 420 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 420 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
uint64_t Val = atoull(yytext+1);
if ((unsigned)Val != Val)
@@ -2004,16 +2004,16 @@
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 428 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 428 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 429 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 429 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 431 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 431 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{
/* Make sure to free the internal buffers for flex when we are
* done reading our input!
@@ -2024,17 +2024,17 @@
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 439 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 439 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ /* Ignore whitespace */ }
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 440 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 440 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
{ return yytext[0]; }
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 442 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 442 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 2041 "Lexer.cpp"
@@ -2915,5 +2915,5 @@
return 0;
}
#endif
-#line 442 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
+#line 442 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
diff --git a/lib/AsmParser/llvmAsmParser.cpp.cvs b/lib/AsmParser/llvmAsmParser.cpp.cvs
index 9deb8cf..f73f2ee 100644
--- a/lib/AsmParser/llvmAsmParser.cpp.cvs
+++ b/lib/AsmParser/llvmAsmParser.cpp.cvs
@@ -334,7 +334,7 @@
/* Copy the first part of user declarations. */
-#line 14 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 14 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
#include "ParserInternals.h"
#include "llvm/CallingConv.h"
@@ -524,8 +524,6 @@
}
return false;
}
-
-
} CurModule;
static struct PerFunctionInfo {
@@ -1279,7 +1277,7 @@
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 937 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -1306,7 +1304,7 @@
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
- llvm::FunctionType::ParameterAttributes ParamAttrs;
+ uint16_t ParamAttrs;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
@@ -1327,7 +1325,7 @@
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
/* Line 196 of yacc.c. */
-#line 1331 "llvmAsmParser.tab.c"
+#line 1329 "llvmAsmParser.tab.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -1339,7 +1337,7 @@
/* Line 219 of yacc.c. */
-#line 1343 "llvmAsmParser.tab.c"
+#line 1341 "llvmAsmParser.tab.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
@@ -1687,35 +1685,35 @@
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
- 1093, 1094, 1094, 1094, 1094, 1094, 1094, 1095, 1095, 1095,
- 1095, 1095, 1095, 1096, 1096, 1096, 1096, 1096, 1096, 1099,
- 1099, 1100, 1100, 1101, 1101, 1102, 1102, 1103, 1103, 1107,
- 1107, 1108, 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1112,
- 1112, 1113, 1113, 1114, 1115, 1120, 1121, 1121, 1123, 1123,
- 1124, 1124, 1128, 1132, 1137, 1137, 1139, 1143, 1149, 1150,
- 1151, 1152, 1153, 1157, 1158, 1159, 1163, 1164, 1168, 1169,
- 1170, 1174, 1175, 1176, 1177, 1178, 1181, 1182, 1183, 1184,
- 1185, 1186, 1187, 1194, 1195, 1196, 1197, 1200, 1201, 1206,
- 1207, 1208, 1211, 1212, 1219, 1220, 1226, 1227, 1235, 1243,
- 1244, 1249, 1250, 1251, 1256, 1269, 1269, 1269, 1269, 1272,
- 1276, 1280, 1287, 1292, 1300, 1319, 1338, 1343, 1355, 1365,
- 1369, 1379, 1386, 1393, 1400, 1405, 1410, 1417, 1418, 1425,
- 1432, 1440, 1446, 1458, 1486, 1502, 1531, 1559, 1584, 1603,
- 1629, 1649, 1661, 1668, 1734, 1744, 1754, 1760, 1770, 1776,
- 1786, 1791, 1796, 1804, 1816, 1838, 1846, 1852, 1863, 1868,
- 1873, 1879, 1885, 1894, 1898, 1906, 1906, 1917, 1922, 1930,
- 1931, 1935, 1935, 1939, 1939, 1942, 1945, 1969, 1980, 1980,
- 1990, 1990, 1998, 1998, 2008, 2011, 2017, 2030, 2034, 2039,
- 2041, 2046, 2051, 2060, 2070, 2081, 2085, 2094, 2103, 2108,
- 2220, 2220, 2222, 2231, 2231, 2233, 2238, 2250, 2254, 2259,
- 2263, 2267, 2271, 2275, 2279, 2283, 2287, 2291, 2316, 2320,
- 2334, 2338, 2342, 2346, 2352, 2352, 2358, 2367, 2371, 2380,
- 2389, 2398, 2402, 2407, 2411, 2415, 2420, 2430, 2449, 2458,
- 2527, 2531, 2538, 2549, 2562, 2572, 2583, 2593, 2602, 2611,
- 2614, 2615, 2622, 2626, 2631, 2652, 2669, 2683, 2697, 2709,
- 2717, 2724, 2730, 2736, 2742, 2757, 2821, 2826, 2830, 2837,
- 2844, 2852, 2859, 2867, 2875, 2889, 2906
+ 0, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
+ 1091, 1092, 1092, 1092, 1092, 1092, 1092, 1093, 1093, 1093,
+ 1093, 1093, 1093, 1094, 1094, 1094, 1094, 1094, 1094, 1097,
+ 1097, 1098, 1098, 1099, 1099, 1100, 1100, 1101, 1101, 1105,
+ 1105, 1106, 1106, 1107, 1107, 1108, 1108, 1109, 1109, 1110,
+ 1110, 1111, 1111, 1112, 1113, 1118, 1119, 1119, 1121, 1121,
+ 1122, 1122, 1126, 1130, 1135, 1135, 1137, 1141, 1147, 1148,
+ 1149, 1150, 1151, 1155, 1156, 1157, 1161, 1162, 1166, 1167,
+ 1168, 1172, 1173, 1174, 1175, 1176, 1179, 1180, 1181, 1182,
+ 1183, 1184, 1185, 1192, 1193, 1194, 1195, 1198, 1199, 1204,
+ 1205, 1206, 1209, 1210, 1217, 1218, 1224, 1225, 1233, 1241,
+ 1242, 1247, 1248, 1249, 1254, 1267, 1267, 1267, 1267, 1270,
+ 1274, 1278, 1285, 1290, 1298, 1324, 1351, 1356, 1368, 1378,
+ 1382, 1392, 1399, 1406, 1413, 1418, 1423, 1430, 1431, 1438,
+ 1445, 1453, 1459, 1471, 1499, 1515, 1544, 1572, 1597, 1616,
+ 1642, 1662, 1674, 1681, 1747, 1757, 1767, 1773, 1783, 1789,
+ 1799, 1804, 1809, 1817, 1829, 1851, 1859, 1865, 1876, 1881,
+ 1886, 1892, 1898, 1907, 1911, 1919, 1919, 1930, 1935, 1943,
+ 1944, 1948, 1948, 1952, 1952, 1955, 1958, 1982, 1993, 1993,
+ 2003, 2003, 2011, 2011, 2021, 2024, 2030, 2043, 2047, 2052,
+ 2054, 2059, 2064, 2073, 2083, 2094, 2098, 2107, 2116, 2121,
+ 2240, 2240, 2242, 2251, 2251, 2253, 2258, 2270, 2274, 2279,
+ 2283, 2287, 2291, 2295, 2299, 2303, 2307, 2311, 2336, 2340,
+ 2354, 2358, 2362, 2366, 2372, 2372, 2378, 2387, 2391, 2400,
+ 2409, 2418, 2422, 2427, 2431, 2435, 2440, 2450, 2469, 2478,
+ 2554, 2558, 2565, 2576, 2589, 2599, 2610, 2620, 2629, 2638,
+ 2641, 2642, 2649, 2653, 2658, 2679, 2696, 2710, 2724, 2736,
+ 2744, 2751, 2757, 2763, 2769, 2784, 2856, 2861, 2865, 2872,
+ 2879, 2887, 2894, 2902, 2910, 2924, 2941
};
#endif
@@ -3041,142 +3039,142 @@
switch (yyn)
{
case 29:
-#line 1099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1097 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_EQ; ;}
break;
case 30:
-#line 1099 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1097 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_NE; ;}
break;
case 31:
-#line 1100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1098 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLT; ;}
break;
case 32:
-#line 1100 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1098 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGT; ;}
break;
case 33:
-#line 1101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SLE; ;}
break;
case 34:
-#line 1101 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1099 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_SGE; ;}
break;
case 35:
-#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULT; ;}
break;
case 36:
-#line 1102 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1100 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGT; ;}
break;
case 37:
-#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_ULE; ;}
break;
case 38:
-#line 1103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1101 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.IPredicate) = ICmpInst::ICMP_UGE; ;}
break;
case 39:
-#line 1107 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1105 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OEQ; ;}
break;
case 40:
-#line 1107 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1105 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ONE; ;}
break;
case 41:
-#line 1108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1106 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLT; ;}
break;
case 42:
-#line 1108 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1106 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGT; ;}
break;
case 43:
-#line 1109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OLE; ;}
break;
case 44:
-#line 1109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_OGE; ;}
break;
case 45:
-#line 1110 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ORD; ;}
break;
case 46:
-#line 1110 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1108 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNO; ;}
break;
case 47:
-#line 1111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UEQ; ;}
break;
case 48:
-#line 1111 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1109 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UNE; ;}
break;
case 49:
-#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULT; ;}
break;
case 50:
-#line 1112 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1110 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGT; ;}
break;
case 51:
-#line 1113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_ULE; ;}
break;
case 52:
-#line 1113 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1111 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_UGE; ;}
break;
case 53:
-#line 1114 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1112 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_TRUE; ;}
break;
case 54:
-#line 1115 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1113 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.FPredicate) = FCmpInst::FCMP_FALSE; ;}
break;
case 61:
-#line 1124 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1122 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 62:
-#line 1128 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1126 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[-1].StrVal);
CHECK_FOR_ERROR
@@ -3184,7 +3182,7 @@
break;
case 63:
-#line 1132 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1130 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3192,7 +3190,7 @@
break;
case 66:
-#line 1139 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1137 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = (yyvsp[-1].StrVal);
CHECK_FOR_ERROR
@@ -3200,7 +3198,7 @@
break;
case 67:
-#line 1143 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1141 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.StrVal) = 0;
CHECK_FOR_ERROR
@@ -3208,127 +3206,127 @@
break;
case 68:
-#line 1149 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1147 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 69:
-#line 1150 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1148 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 70:
-#line 1151 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1149 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 71:
-#line 1152 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1150 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
break;
case 72:
-#line 1153 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1151 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 73:
-#line 1157 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1155 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 74:
-#line 1158 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1156 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 75:
-#line 1159 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1157 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 76:
-#line 1163 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1161 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::DefaultVisibility; ;}
break;
case 77:
-#line 1164 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1162 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Visibility) = GlobalValue::HiddenVisibility; ;}
break;
case 78:
-#line 1168 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1166 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 79:
-#line 1169 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1167 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 80:
-#line 1170 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1168 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 81:
-#line 1174 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1172 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 82:
-#line 1175 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1173 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 83:
-#line 1176 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1174 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 84:
-#line 1177 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1175 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 85:
-#line 1178 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1176 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 86:
-#line 1181 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1179 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 87:
-#line 1182 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1180 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::C; ;}
break;
case 88:
-#line 1183 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1181 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Fast; ;}
break;
case 89:
-#line 1184 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1182 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::Cold; ;}
break;
case 90:
-#line 1185 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1183 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_StdCall; ;}
break;
case 91:
-#line 1186 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1184 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = CallingConv::X86_FastCall; ;}
break;
case 92:
-#line 1187 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1185 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
GEN_ERROR("Calling conv too large");
@@ -3338,66 +3336,66 @@
break;
case 93:
-#line 1194 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::ZExtAttribute; ;}
+#line 1192 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = ZExtAttribute; ;}
break;
case 94:
-#line 1195 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::SExtAttribute; ;}
+#line 1193 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = SExtAttribute; ;}
break;
case 95:
-#line 1196 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::InRegAttribute; ;}
+#line 1194 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = InRegAttribute; ;}
break;
case 96:
-#line 1197 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::StructRetAttribute; ;}
+#line 1195 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = StructRetAttribute; ;}
break;
case 97:
-#line 1200 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+#line 1198 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = NoAttributeSet; ;}
break;
case 98:
-#line 1201 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1199 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
- (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
+ (yyval.ParamAttrs) = (yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs);
;}
break;
case 99:
-#line 1206 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::NoReturnAttribute; ;}
+#line 1204 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = NoReturnAttribute; ;}
break;
case 100:
-#line 1207 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::NoUnwindAttribute; ;}
+#line 1205 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = NoUnwindAttribute; ;}
break;
case 102:
-#line 1211 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
- { (yyval.ParamAttrs) = FunctionType::NoAttributeSet; ;}
+#line 1209 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
+ { (yyval.ParamAttrs) = NoAttributeSet; ;}
break;
case 103:
-#line 1212 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1210 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
- (yyval.ParamAttrs) = FunctionType::ParameterAttributes((yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs));
+ (yyval.ParamAttrs) = (yyvsp[-1].ParamAttrs) | (yyvsp[0].ParamAttrs);
;}
break;
case 104:
-#line 1219 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1217 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
case 105:
-#line 1220 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1218 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[0].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3407,12 +3405,12 @@
break;
case 106:
-#line 1226 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1224 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
case 107:
-#line 1227 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1225 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.UIntVal) = (yyvsp[0].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -3422,7 +3420,7 @@
break;
case 108:
-#line 1235 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1233 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
@@ -3433,27 +3431,27 @@
break;
case 109:
-#line 1243 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1241 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 110:
-#line 1244 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1242 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.StrVal) = (yyvsp[0].StrVal); ;}
break;
case 111:
-#line 1249 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1247 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{;}
break;
case 112:
-#line 1250 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1248 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{;}
break;
case 113:
-#line 1251 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1249 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV->setSection((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -3462,7 +3460,7 @@
break;
case 114:
-#line 1256 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1254 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
GEN_ERROR("Alignment must be a power of two");
@@ -3472,7 +3470,7 @@
break;
case 119:
-#line 1272 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1270 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(OpaqueType::get());
CHECK_FOR_ERROR
@@ -3480,7 +3478,7 @@
break;
case 120:
-#line 1276 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1274 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder((yyvsp[0].PrimType));
CHECK_FOR_ERROR
@@ -3488,7 +3486,7 @@
break;
case 121:
-#line 1280 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1278 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Pointer type?
if (*(yyvsp[-1].TypeVal) == Type::LabelTy)
GEN_ERROR("Cannot form a pointer to a basic block");
@@ -3499,7 +3497,7 @@
break;
case 122:
-#line 1287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1285 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Named types are also simple types...
const Type* tmp = getTypeVal((yyvsp[0].ValIDVal));
CHECK_FOR_ERROR
@@ -3508,7 +3506,7 @@
break;
case 123:
-#line 1292 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1290 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Type UpReference
if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) GEN_ERROR("Value out of range");
OpaqueType *OT = OpaqueType::get(); // Use temporary placeholder
@@ -3520,21 +3518,28 @@
break;
case 124:
-#line 1300 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1298 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Params;
- std::vector<FunctionType::ParameterAttributes> Attrs;
- Attrs.push_back((yyvsp[0].ParamAttrs));
- for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
+ ParamAttrsList Attrs;
+ if ((yyvsp[0].ParamAttrs) != NoAttributeSet)
+ Attrs.addAttributes(0, (yyvsp[0].ParamAttrs));
+ unsigned index = 1;
+ TypeWithAttrsList::iterator I = (yyvsp[-2].TypeWithAttrsList)->begin(), E = (yyvsp[-2].TypeWithAttrsList)->end();
+ for (; I != E; ++I, ++index) {
const Type *Ty = I->Ty->get();
Params.push_back(Ty);
if (Ty != Type::VoidTy)
- Attrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ Attrs.addAttributes(index, I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- FunctionType *FT = FunctionType::get(*(yyvsp[-4].TypeVal), Params, isVarArg, Attrs);
+ ParamAttrsList *ActualAttrs = 0;
+ if (!Attrs.empty())
+ ActualAttrs = new ParamAttrsList(Attrs);
+ FunctionType *FT = FunctionType::get(*(yyvsp[-4].TypeVal), Params, isVarArg, ActualAttrs);
delete (yyvsp[-2].TypeWithAttrsList); // Delete the argument list
delete (yyvsp[-4].TypeVal); // Delete the return type handle
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
@@ -3543,21 +3548,29 @@
break;
case 125:
-#line 1319 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1324 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Params;
- std::vector<FunctionType::ParameterAttributes> Attrs;
- Attrs.push_back((yyvsp[0].ParamAttrs));
- for (TypeWithAttrsList::iterator I=(yyvsp[-2].TypeWithAttrsList)->begin(), E=(yyvsp[-2].TypeWithAttrsList)->end(); I != E; ++I) {
+ ParamAttrsList Attrs;
+ if ((yyvsp[0].ParamAttrs) != NoAttributeSet)
+ Attrs.addAttributes(0, (yyvsp[0].ParamAttrs));
+ TypeWithAttrsList::iterator I = (yyvsp[-2].TypeWithAttrsList)->begin(), E = (yyvsp[-2].TypeWithAttrsList)->end();
+ unsigned index = 1;
+ for ( ; I != E; ++I, ++index) {
const Type* Ty = I->Ty->get();
Params.push_back(Ty);
if (Ty != Type::VoidTy)
- Attrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ Attrs.addAttributes(index, I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- FunctionType *FT = FunctionType::get((yyvsp[-4].PrimType), Params, isVarArg, Attrs);
+ ParamAttrsList *ActualAttrs = 0;
+ if (!Attrs.empty())
+ ActualAttrs = new ParamAttrsList(Attrs);
+
+ FunctionType *FT = FunctionType::get((yyvsp[-4].PrimType), Params, isVarArg, ActualAttrs);
delete (yyvsp[-2].TypeWithAttrsList); // Delete the argument list
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(FT));
CHECK_FOR_ERROR
@@ -3565,7 +3578,7 @@
break;
case 126:
-#line 1338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1351 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Sized array type?
(yyval.TypeVal) = new PATypeHolder(HandleUpRefs(ArrayType::get(*(yyvsp[-1].TypeVal), (unsigned)(yyvsp[-3].UInt64Val))));
delete (yyvsp[-1].TypeVal);
@@ -3574,7 +3587,7 @@
break;
case 127:
-#line 1343 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1356 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[-1].TypeVal)->get();
if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -3590,7 +3603,7 @@
break;
case 128:
-#line 1355 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1368 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-1].TypeList)->begin(),
@@ -3604,7 +3617,7 @@
break;
case 129:
-#line 1365 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1378 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>()));
CHECK_FOR_ERROR
@@ -3612,7 +3625,7 @@
break;
case 130:
-#line 1369 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1382 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
std::vector<const Type*> Elements;
for (std::list<llvm::PATypeHolder>::iterator I = (yyvsp[-2].TypeList)->begin(),
@@ -3626,7 +3639,7 @@
break;
case 131:
-#line 1379 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1392 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Empty structure type?
(yyval.TypeVal) = new PATypeHolder(StructType::get(std::vector<const Type*>(), true));
CHECK_FOR_ERROR
@@ -3634,7 +3647,7 @@
break;
case 132:
-#line 1386 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1399 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrs).Ty = (yyvsp[-1].TypeVal);
(yyval.TypeWithAttrs).Attrs = (yyvsp[0].ParamAttrs);
@@ -3642,7 +3655,7 @@
break;
case 133:
-#line 1393 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1406 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -3653,14 +3666,14 @@
break;
case 134:
-#line 1400 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1413 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeVal) = new PATypeHolder(Type::VoidTy);
;}
break;
case 135:
-#line 1405 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1418 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
(yyval.TypeWithAttrsList)->push_back((yyvsp[0].TypeWithAttrs));
@@ -3669,7 +3682,7 @@
break;
case 136:
-#line 1410 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1423 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList))->push_back((yyvsp[0].TypeWithAttrs));
CHECK_FOR_ERROR
@@ -3677,10 +3690,10 @@
break;
case 138:
-#line 1418 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1431 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList)=(yyvsp[-2].TypeWithAttrsList);
- TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
+ TypeWithAttrs TWA; TWA.Attrs = NoAttributeSet;
TWA.Ty = new PATypeHolder(Type::VoidTy);
(yyval.TypeWithAttrsList)->push_back(TWA);
CHECK_FOR_ERROR
@@ -3688,10 +3701,10 @@
break;
case 139:
-#line 1425 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1438 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList;
- TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
+ TypeWithAttrs TWA; TWA.Attrs = NoAttributeSet;
TWA.Ty = new PATypeHolder(Type::VoidTy);
(yyval.TypeWithAttrsList)->push_back(TWA);
CHECK_FOR_ERROR
@@ -3699,7 +3712,7 @@
break;
case 140:
-#line 1432 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1445 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeWithAttrsList) = new TypeWithAttrsList();
CHECK_FOR_ERROR
@@ -3707,7 +3720,7 @@
break;
case 141:
-#line 1440 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1453 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TypeList) = new std::list<PATypeHolder>();
(yyval.TypeList)->push_back(*(yyvsp[0].TypeVal));
@@ -3717,7 +3730,7 @@
break;
case 142:
-#line 1446 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1459 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back(*(yyvsp[0].TypeVal));
delete (yyvsp[0].TypeVal);
@@ -3726,7 +3739,7 @@
break;
case 143:
-#line 1458 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1471 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3758,7 +3771,7 @@
break;
case 144:
-#line 1486 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1499 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3778,7 +3791,7 @@
break;
case 145:
-#line 1502 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1515 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3811,7 +3824,7 @@
break;
case 146:
-#line 1531 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1544 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized arr
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -3843,7 +3856,7 @@
break;
case 147:
-#line 1559 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1572 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal)->get());
if (STy == 0)
@@ -3872,7 +3885,7 @@
break;
case 148:
-#line 1584 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1597 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -3895,7 +3908,7 @@
break;
case 149:
-#line 1603 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1616 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal)->get());
if (STy == 0)
@@ -3925,7 +3938,7 @@
break;
case 150:
-#line 1629 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1642 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -3949,7 +3962,7 @@
break;
case 151:
-#line 1649 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1662 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3965,7 +3978,7 @@
break;
case 152:
-#line 1661 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1674 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -3976,7 +3989,7 @@
break;
case 153:
-#line 1668 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1681 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4046,7 +4059,7 @@
break;
case 154:
-#line 1734 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1747 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4060,7 +4073,7 @@
break;
case 155:
-#line 1744 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1757 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4074,7 +4087,7 @@
break;
case 156:
-#line 1754 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1767 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].SInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4084,7 +4097,7 @@
break;
case 157:
-#line 1760 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1773 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4098,7 +4111,7 @@
break;
case 158:
-#line 1770 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1783 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // integral constants
if (!ConstantInt::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].UInt64Val)))
GEN_ERROR("Constant value doesn't fit in type");
@@ -4108,7 +4121,7 @@
break;
case 159:
-#line 1776 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1789 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // arbitrary precision integer constants
uint32_t BitWidth = cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth();
if ((yyvsp[0].APIntVal)->getBitWidth() > BitWidth) {
@@ -4122,7 +4135,7 @@
break;
case 160:
-#line 1786 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1799 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getTrue();
@@ -4131,7 +4144,7 @@
break;
case 161:
-#line 1791 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1804 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Boolean constants
assert(cast<IntegerType>((yyvsp[-1].PrimType))->getBitWidth() == 1 && "Not Bool?");
(yyval.ConstVal) = ConstantInt::getFalse();
@@ -4140,7 +4153,7 @@
break;
case 162:
-#line 1796 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1809 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Float & Double constants
if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType), (yyvsp[0].FPVal)))
GEN_ERROR("Floating point constant invalid for type");
@@ -4150,7 +4163,7 @@
break;
case 163:
-#line 1804 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1817 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4166,7 +4179,7 @@
break;
case 164:
-#line 1816 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1829 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[-2].ConstVal)->getType()))
GEN_ERROR("GetElementPtr requires a pointer operand");
@@ -4192,7 +4205,7 @@
break;
case 165:
-#line 1838 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1851 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-5].ConstVal)->getType() != Type::Int1Ty)
GEN_ERROR("Select condition must be of boolean type");
@@ -4204,7 +4217,7 @@
break;
case 166:
-#line 1846 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1859 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("Binary operator types must match");
@@ -4214,7 +4227,7 @@
break;
case 167:
-#line 1852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1865 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("Logical operator types must match");
@@ -4229,7 +4242,7 @@
break;
case 168:
-#line 1863 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1876 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("icmp operand types must match");
@@ -4238,7 +4251,7 @@
break;
case 169:
-#line 1868 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1881 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-3].ConstVal)->getType() != (yyvsp[-1].ConstVal)->getType())
GEN_ERROR("fcmp operand types must match");
@@ -4247,7 +4260,7 @@
break;
case 170:
-#line 1873 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1886 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -4257,7 +4270,7 @@
break;
case 171:
-#line 1879 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1892 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -4267,7 +4280,7 @@
break;
case 172:
-#line 1885 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1898 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal), (yyvsp[-3].ConstVal), (yyvsp[-1].ConstVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -4277,7 +4290,7 @@
break;
case 173:
-#line 1894 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1907 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal));
CHECK_FOR_ERROR
@@ -4285,7 +4298,7 @@
break;
case 174:
-#line 1898 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1911 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ConstVector) = new std::vector<Constant*>();
(yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -4294,17 +4307,17 @@
break;
case 175:
-#line 1906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1919 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 176:
-#line 1906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1919 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 177:
-#line 1917 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1930 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4313,7 +4326,7 @@
break;
case 178:
-#line 1922 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1935 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ModuleVal) = ParserResult = CurModule.CurrentModule;
CurModule.ModuleDone();
@@ -4322,12 +4335,12 @@
break;
case 181:
-#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1948 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = false; ;}
break;
case 182:
-#line 1935 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1948 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurFun.FunctionDone();
CHECK_FOR_ERROR
@@ -4335,26 +4348,26 @@
break;
case 183:
-#line 1939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1952 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ CurFun.isDeclare = true; ;}
break;
case 184:
-#line 1939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1952 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 185:
-#line 1942 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1955 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 186:
-#line 1945 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1958 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4382,7 +4395,7 @@
break;
case 187:
-#line 1969 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1982 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
ResolveTypeTo((yyvsp[-2].StrVal), (yyvsp[0].PrimType));
@@ -4397,7 +4410,7 @@
break;
case 188:
-#line 1980 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 1993 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
/* "Externally Visible" Linkage */
if ((yyvsp[0].ConstVal) == 0)
@@ -4409,14 +4422,14 @@
break;
case 189:
-#line 1987 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2000 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 190:
-#line 1990 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2003 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[0].ConstVal) == 0)
GEN_ERROR("Global value initializer is not a constant");
@@ -4426,14 +4439,14 @@
break;
case 191:
-#line 1995 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2008 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
;}
break;
case 192:
-#line 1998 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2011 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -4444,7 +4457,7 @@
break;
case 193:
-#line 2004 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2017 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurGV = 0;
CHECK_FOR_ERROR
@@ -4452,21 +4465,21 @@
break;
case 194:
-#line 2008 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2021 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 195:
-#line 2011 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2024 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 196:
-#line 2017 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2030 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -4482,7 +4495,7 @@
break;
case 197:
-#line 2030 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2043 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4490,7 +4503,7 @@
break;
case 198:
-#line 2034 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2047 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4498,7 +4511,7 @@
break;
case 200:
-#line 2041 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2054 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4507,7 +4520,7 @@
break;
case 201:
-#line 2046 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2059 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4516,14 +4529,14 @@
break;
case 202:
-#line 2051 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2064 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CHECK_FOR_ERROR
;}
break;
case 203:
-#line 2060 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2073 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4537,7 +4550,7 @@
break;
case 204:
-#line 2070 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2083 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -4551,7 +4564,7 @@
break;
case 205:
-#line 2081 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2094 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[0].ArgList);
CHECK_FOR_ERROR
@@ -4559,33 +4572,33 @@
break;
case 206:
-#line 2085 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2098 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = (yyvsp[-2].ArgList);
struct ArgListEntry E;
E.Ty = new PATypeHolder(Type::VoidTy);
E.Name = 0;
- E.Attrs = FunctionType::NoAttributeSet;
+ E.Attrs = NoAttributeSet;
(yyval.ArgList)->push_back(E);
CHECK_FOR_ERROR
;}
break;
case 207:
-#line 2094 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2107 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = new ArgListType;
struct ArgListEntry E;
E.Ty = new PATypeHolder(Type::VoidTy);
E.Name = 0;
- E.Attrs = FunctionType::NoAttributeSet;
+ E.Attrs = NoAttributeSet;
(yyval.ArgList)->push_back(E);
CHECK_FOR_ERROR
;}
break;
case 208:
-#line 2103 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2116 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ArgList) = 0;
CHECK_FOR_ERROR
@@ -4593,7 +4606,7 @@
break;
case 209:
-#line 2109 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2122 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
UnEscapeLexed((yyvsp[-6].StrVal));
std::string FunctionName((yyvsp[-6].StrVal));
@@ -4605,24 +4618,31 @@
GEN_ERROR("Reference to abstract result: "+ (yyvsp[-7].TypeVal)->get()->getDescription());
std::vector<const Type*> ParamTypeList;
- std::vector<FunctionType::ParameterAttributes> ParamAttrs;
- ParamAttrs.push_back((yyvsp[-2].ParamAttrs));
+ ParamAttrsList ParamAttrs;
+ if ((yyvsp[-2].ParamAttrs) != NoAttributeSet)
+ ParamAttrs.addAttributes(0, (yyvsp[-2].ParamAttrs));
if ((yyvsp[-4].ArgList)) { // If there are arguments...
- for (ArgListType::iterator I = (yyvsp[-4].ArgList)->begin(); I != (yyvsp[-4].ArgList)->end(); ++I) {
+ unsigned index = 1;
+ for (ArgListType::iterator I = (yyvsp[-4].ArgList)->begin(); I != (yyvsp[-4].ArgList)->end(); ++I, ++index) {
const Type* Ty = I->Ty->get();
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
ParamTypeList.push_back(Ty);
if (Ty != Type::VoidTy)
- ParamAttrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ ParamAttrs.addAttributes(index, I->Attrs);
}
}
bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
if (isVarArg) ParamTypeList.pop_back();
- FunctionType *FT = FunctionType::get(*(yyvsp[-7].TypeVal), ParamTypeList, isVarArg,
- ParamAttrs);
+ ParamAttrsList *ActualAttrs = 0;
+ if (!ParamAttrs.empty())
+ ActualAttrs = new ParamAttrsList(ParamAttrs);
+
+ FunctionType *FT = FunctionType::get(*(yyvsp[-7].TypeVal), ParamTypeList, isVarArg,
+ ActualAttrs);
const PointerType *PFT = PointerType::get(FT);
delete (yyvsp[-7].TypeVal);
@@ -4707,7 +4727,7 @@
break;
case 212:
-#line 2222 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2242 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -4719,7 +4739,7 @@
break;
case 215:
-#line 2233 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2253 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
CHECK_FOR_ERROR
@@ -4727,7 +4747,7 @@
break;
case 216:
-#line 2238 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2258 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
CurFun.CurrentFunction->setLinkage((yyvsp[-2].Linkage));
CurFun.CurrentFunction->setVisibility((yyvsp[-1].Visibility));
@@ -4738,7 +4758,7 @@
break;
case 217:
-#line 2250 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2270 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -4746,7 +4766,7 @@
break;
case 218:
-#line 2254 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2274 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -4754,7 +4774,7 @@
break;
case 219:
-#line 2259 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2279 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // A reference to a direct constant
(yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val));
CHECK_FOR_ERROR
@@ -4762,7 +4782,7 @@
break;
case 220:
-#line 2263 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2283 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val));
CHECK_FOR_ERROR
@@ -4770,7 +4790,7 @@
break;
case 221:
-#line 2267 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2287 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Perhaps it's an FP constant?
(yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal));
CHECK_FOR_ERROR
@@ -4778,7 +4798,7 @@
break;
case 222:
-#line 2271 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2291 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getTrue());
CHECK_FOR_ERROR
@@ -4786,7 +4806,7 @@
break;
case 223:
-#line 2275 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2295 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::getFalse());
CHECK_FOR_ERROR
@@ -4794,7 +4814,7 @@
break;
case 224:
-#line 2279 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2299 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createNull();
CHECK_FOR_ERROR
@@ -4802,7 +4822,7 @@
break;
case 225:
-#line 2283 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2303 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createUndef();
CHECK_FOR_ERROR
@@ -4810,7 +4830,7 @@
break;
case 226:
-#line 2287 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2307 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // A vector zero constant.
(yyval.ValIDVal) = ValID::createZeroInit();
CHECK_FOR_ERROR
@@ -4818,7 +4838,7 @@
break;
case 227:
-#line 2291 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2311 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[-1].ConstVector))[0]->getType();
int NumElements = (yyvsp[-1].ConstVector)->size();
@@ -4847,7 +4867,7 @@
break;
case 228:
-#line 2316 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2336 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal));
CHECK_FOR_ERROR
@@ -4855,7 +4875,7 @@
break;
case 229:
-#line 2320 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2340 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -4869,7 +4889,7 @@
break;
case 230:
-#line 2334 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2354 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Is it an integer reference...?
(yyval.ValIDVal) = ValID::createLocalID((yyvsp[0].UIntVal));
CHECK_FOR_ERROR
@@ -4877,7 +4897,7 @@
break;
case 231:
-#line 2338 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2358 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValIDVal) = ValID::createGlobalID((yyvsp[0].UIntVal));
CHECK_FOR_ERROR
@@ -4885,7 +4905,7 @@
break;
case 232:
-#line 2342 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2362 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createLocalName((yyvsp[0].StrVal));
CHECK_FOR_ERROR
@@ -4893,7 +4913,7 @@
break;
case 233:
-#line 2346 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2366 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Is it a named reference...?
(yyval.ValIDVal) = ValID::createGlobalName((yyvsp[0].StrVal));
CHECK_FOR_ERROR
@@ -4901,7 +4921,7 @@
break;
case 236:
-#line 2358 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2378 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -4912,7 +4932,7 @@
break;
case 237:
-#line 2367 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2387 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
CHECK_FOR_ERROR
@@ -4920,7 +4940,7 @@
break;
case 238:
-#line 2371 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2391 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
CHECK_FOR_ERROR
@@ -4928,7 +4948,7 @@
break;
case 239:
-#line 2380 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2400 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
setValueName((yyvsp[0].TermInstVal), (yyvsp[-1].StrVal));
CHECK_FOR_ERROR
@@ -4940,7 +4960,7 @@
break;
case 240:
-#line 2389 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2409 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (CastInst *CI1 = dyn_cast<CastInst>((yyvsp[0].InstVal)))
if (CastInst *CI2 = dyn_cast<CastInst>(CI1->getOperand(0)))
@@ -4953,7 +4973,7 @@
break;
case 241:
-#line 2398 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2418 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Empty space between instruction lists
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalID(CurFun.NextValNum));
CHECK_FOR_ERROR
@@ -4961,7 +4981,7 @@
break;
case 242:
-#line 2402 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2422 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Labelled (named) basic block
(yyval.BasicBlockVal) = defineBBVal(ValID::createLocalName((yyvsp[0].StrVal)));
CHECK_FOR_ERROR
@@ -4969,7 +4989,7 @@
break;
case 243:
-#line 2407 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2427 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Return with a result...
(yyval.TermInstVal) = new ReturnInst((yyvsp[0].ValueVal));
CHECK_FOR_ERROR
@@ -4977,7 +4997,7 @@
break;
case 244:
-#line 2411 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2431 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Return with no result...
(yyval.TermInstVal) = new ReturnInst();
CHECK_FOR_ERROR
@@ -4985,7 +5005,7 @@
break;
case 245:
-#line 2415 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2435 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
CHECK_FOR_ERROR
@@ -4994,7 +5014,7 @@
break;
case 246:
-#line 2420 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2440 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
assert(cast<IntegerType>((yyvsp[-7].PrimType))->getBitWidth() == 1 && "Not Bool?");
BasicBlock* tmpBBA = getBBVal((yyvsp[-3].ValIDVal));
@@ -5008,7 +5028,7 @@
break;
case 247:
-#line 2430 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2450 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[-7].PrimType), (yyvsp[-6].ValIDVal));
CHECK_FOR_ERROR
@@ -5031,7 +5051,7 @@
break;
case 248:
-#line 2449 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2469 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
Value* tmpVal = getVal((yyvsp[-6].PrimType), (yyvsp[-5].ValIDVal));
CHECK_FOR_ERROR
@@ -5044,7 +5064,7 @@
break;
case 249:
-#line 2459 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2479 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -5054,17 +5074,24 @@
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- FunctionType::ParamAttrsList ParamAttrs;
- ParamAttrs.push_back((yyvsp[-6].ParamAttrs));
- for (ValueRefList::iterator I = (yyvsp[-8].ValueRefList)->begin(), E = (yyvsp[-8].ValueRefList)->end(); I != E; ++I) {
+ ParamAttrsList ParamAttrs;
+ if ((yyvsp[-6].ParamAttrs) != NoAttributeSet)
+ ParamAttrs.addAttributes(0, (yyvsp[-6].ParamAttrs));
+ ValueRefList::iterator I = (yyvsp[-8].ValueRefList)->begin(), E = (yyvsp[-8].ValueRefList)->end();
+ unsigned index = 1;
+ for (; I != E; ++I, ++index) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- ParamAttrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ ParamAttrs.addAttributes(index, I->Attrs);
}
- Ty = FunctionType::get((yyvsp[-11].TypeVal)->get(), ParamTypes, false, ParamAttrs);
+ ParamAttrsList *Attrs = 0;
+ if (!ParamAttrs.empty())
+ Attrs = new ParamAttrsList(ParamAttrs);
+ Ty = FunctionType::get((yyvsp[-11].TypeVal)->get(), ParamTypes, false, Attrs);
PFTy = PointerType::get(Ty);
}
@@ -5116,7 +5143,7 @@
break;
case 250:
-#line 2527 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2554 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnwindInst();
CHECK_FOR_ERROR
@@ -5124,7 +5151,7 @@
break;
case 251:
-#line 2531 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2558 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.TermInstVal) = new UnreachableInst();
CHECK_FOR_ERROR
@@ -5132,7 +5159,7 @@
break;
case 252:
-#line 2538 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2565 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = (yyvsp[-5].JumpTable);
Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5147,7 +5174,7 @@
break;
case 253:
-#line 2549 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2576 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
Constant *V = cast<Constant>(getExistingVal((yyvsp[-4].PrimType), (yyvsp[-3].ValIDVal)));
@@ -5163,7 +5190,7 @@
break;
case 254:
-#line 2562 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2589 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Is this definition named?? if so, assign the name...
setValueName((yyvsp[0].InstVal), (yyvsp[-1].StrVal));
@@ -5175,7 +5202,7 @@
break;
case 255:
-#line 2572 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2599 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ // Used for PHI nodes
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-5].TypeVal))->getDescription());
@@ -5190,7 +5217,7 @@
break;
case 256:
-#line 2583 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2610 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.PHIList) = (yyvsp[-6].PHIList);
Value* tmpVal = getVal((yyvsp[-6].PHIList)->front().first->getType(), (yyvsp[-3].ValIDVal));
@@ -5202,7 +5229,7 @@
break;
case 257:
-#line 2593 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2620 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5215,7 +5242,7 @@
break;
case 258:
-#line 2602 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2629 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5228,17 +5255,17 @@
break;
case 259:
-#line 2611 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2638 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueRefList) = new ValueRefList(); ;}
break;
case 260:
-#line 2614 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2641 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{ (yyval.ValueList) = new std::vector<Value*>(); ;}
break;
case 261:
-#line 2615 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2642 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.ValueList) = (yyvsp[-2].ValueList);
(yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -5247,7 +5274,7 @@
break;
case 262:
-#line 2622 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2649 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5255,7 +5282,7 @@
break;
case 263:
-#line 2626 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2653 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5263,7 +5290,7 @@
break;
case 264:
-#line 2631 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2658 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5288,7 +5315,7 @@
break;
case 265:
-#line 2652 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2679 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5309,7 +5336,7 @@
break;
case 266:
-#line 2669 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2696 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5327,7 +5354,7 @@
break;
case 267:
-#line 2683 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2710 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-3].TypeVal))->getDescription());
@@ -5345,7 +5372,7 @@
break;
case 268:
-#line 2697 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2724 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5361,7 +5388,7 @@
break;
case 269:
-#line 2709 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2736 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if ((yyvsp[-4].ValueVal)->getType() != Type::Int1Ty)
GEN_ERROR("select condition must be boolean");
@@ -5373,7 +5400,7 @@
break;
case 270:
-#line 2717 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2744 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[0].TypeVal))->getDescription());
@@ -5384,7 +5411,7 @@
break;
case 271:
-#line 2724 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2751 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
GEN_ERROR("Invalid extractelement operands");
@@ -5394,7 +5421,7 @@
break;
case 272:
-#line 2730 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2757 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
GEN_ERROR("Invalid insertelement operands");
@@ -5404,7 +5431,7 @@
break;
case 273:
-#line 2736 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2763 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal), (yyvsp[-2].ValueVal), (yyvsp[0].ValueVal)))
GEN_ERROR("Invalid shufflevector operands");
@@ -5414,7 +5441,7 @@
break;
case 274:
-#line 2742 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2769 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
const Type *Ty = (yyvsp[0].PHIList)->front().first->getType();
if (!Ty->isFirstClassType())
@@ -5433,7 +5460,7 @@
break;
case 275:
-#line 2758 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2785 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
// Handle the short syntax
@@ -5443,17 +5470,25 @@
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- FunctionType::ParamAttrsList ParamAttrs;
- ParamAttrs.push_back((yyvsp[0].ParamAttrs));
- for (ValueRefList::iterator I = (yyvsp[-2].ValueRefList)->begin(), E = (yyvsp[-2].ValueRefList)->end(); I != E; ++I) {
+ ParamAttrsList ParamAttrs;
+ if ((yyvsp[0].ParamAttrs) != NoAttributeSet)
+ ParamAttrs.addAttributes(0, (yyvsp[0].ParamAttrs));
+ unsigned index = 1;
+ ValueRefList::iterator I = (yyvsp[-2].ValueRefList)->begin(), E = (yyvsp[-2].ValueRefList)->end();
+ for (; I != E; ++I, ++index) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- ParamAttrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ ParamAttrs.addAttributes(index, I->Attrs);
}
- Ty = FunctionType::get((yyvsp[-5].TypeVal)->get(), ParamTypes, false, ParamAttrs);
+ ParamAttrsList *Attrs = 0;
+ if (!ParamAttrs.empty())
+ Attrs = new ParamAttrsList(ParamAttrs);
+
+ Ty = FunctionType::get((yyvsp[-5].TypeVal)->get(), ParamTypes, false, Attrs);
PFTy = PointerType::get(Ty);
}
@@ -5500,7 +5535,7 @@
break;
case 276:
-#line 2821 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2856 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.InstVal) = (yyvsp[0].InstVal);
CHECK_FOR_ERROR
@@ -5508,7 +5543,7 @@
break;
case 277:
-#line 2826 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2861 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = true;
CHECK_FOR_ERROR
@@ -5516,7 +5551,7 @@
break;
case 278:
-#line 2830 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2865 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
(yyval.BoolVal) = false;
CHECK_FOR_ERROR
@@ -5524,7 +5559,7 @@
break;
case 279:
-#line 2837 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2872 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5535,7 +5570,7 @@
break;
case 280:
-#line 2844 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2879 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5547,7 +5582,7 @@
break;
case 281:
-#line 2852 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2887 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5558,7 +5593,7 @@
break;
case 282:
-#line 2859 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2894 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-4].TypeVal))->getDescription());
@@ -5570,7 +5605,7 @@
break;
case 283:
-#line 2867 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2902 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!isa<PointerType>((yyvsp[0].ValueVal)->getType()))
GEN_ERROR("Trying to free nonpointer type " +
@@ -5581,7 +5616,7 @@
break;
case 284:
-#line 2875 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2910 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5599,7 +5634,7 @@
break;
case 285:
-#line 2889 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2924 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-1].TypeVal))->getDescription());
@@ -5620,7 +5655,7 @@
break;
case 286:
-#line 2906 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2941 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
{
if (!UpRefs.empty())
GEN_ERROR("Invalid upreference in type: " + (*(yyvsp[-2].TypeVal))->getDescription());
@@ -5643,7 +5678,7 @@
}
/* Line 1126 of yacc.c. */
-#line 5647 "llvmAsmParser.tab.c"
+#line 5682 "llvmAsmParser.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -5911,7 +5946,7 @@
}
-#line 2923 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 2958 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
// common code from the two 'RunVMAsmParser' functions
diff --git a/lib/AsmParser/llvmAsmParser.h.cvs b/lib/AsmParser/llvmAsmParser.h.cvs
index d76286c..4abbca5 100644
--- a/lib/AsmParser/llvmAsmParser.h.cvs
+++ b/lib/AsmParser/llvmAsmParser.h.cvs
@@ -299,7 +299,7 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
+#line 937 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -326,7 +326,7 @@
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
- llvm::FunctionType::ParameterAttributes ParamAttrs;
+ uint16_t ParamAttrs;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
diff --git a/lib/AsmParser/llvmAsmParser.y.cvs b/lib/AsmParser/llvmAsmParser.y.cvs
index 030e057..92d06a7 100644
--- a/lib/AsmParser/llvmAsmParser.y.cvs
+++ b/lib/AsmParser/llvmAsmParser.y.cvs
@@ -200,8 +200,6 @@
}
return false;
}
-
-
} CurModule;
static struct PerFunctionInfo {
@@ -962,7 +960,7 @@
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
- llvm::FunctionType::ParameterAttributes ParamAttrs;
+ uint16_t ParamAttrs;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
@@ -1191,26 +1189,26 @@
CHECK_FOR_ERROR
};
-ParamAttr : ZEXT { $$ = FunctionType::ZExtAttribute; }
- | SEXT { $$ = FunctionType::SExtAttribute; }
- | INREG { $$ = FunctionType::InRegAttribute; }
- | SRET { $$ = FunctionType::StructRetAttribute; }
+ParamAttr : ZEXT { $$ = ZExtAttribute; }
+ | SEXT { $$ = SExtAttribute; }
+ | INREG { $$ = InRegAttribute; }
+ | SRET { $$ = StructRetAttribute; }
;
-OptParamAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; }
+OptParamAttrs : /* empty */ { $$ = NoAttributeSet; }
| OptParamAttrs ParamAttr {
- $$ = FunctionType::ParameterAttributes($1 | $2);
+ $$ = $1 | $2;
}
;
-FuncAttr : NORETURN { $$ = FunctionType::NoReturnAttribute; }
- | NOUNWIND { $$ = FunctionType::NoUnwindAttribute; }
+FuncAttr : NORETURN { $$ = NoReturnAttribute; }
+ | NOUNWIND { $$ = NoUnwindAttribute; }
| ParamAttr
;
-OptFuncAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; }
+OptFuncAttrs : /* empty */ { $$ = NoAttributeSet; }
| OptFuncAttrs FuncAttr {
- $$ = FunctionType::ParameterAttributes($1 | $2);
+ $$ = $1 | $2;
}
;
@@ -1299,18 +1297,25 @@
}
| Types '(' ArgTypeListI ')' OptFuncAttrs {
std::vector<const Type*> Params;
- std::vector<FunctionType::ParameterAttributes> Attrs;
- Attrs.push_back($5);
- for (TypeWithAttrsList::iterator I=$3->begin(), E=$3->end(); I != E; ++I) {
+ ParamAttrsList Attrs;
+ if ($5 != NoAttributeSet)
+ Attrs.addAttributes(0, $5);
+ unsigned index = 1;
+ TypeWithAttrsList::iterator I = $3->begin(), E = $3->end();
+ for (; I != E; ++I, ++index) {
const Type *Ty = I->Ty->get();
Params.push_back(Ty);
if (Ty != Type::VoidTy)
- Attrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ Attrs.addAttributes(index, I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- FunctionType *FT = FunctionType::get(*$1, Params, isVarArg, Attrs);
+ ParamAttrsList *ActualAttrs = 0;
+ if (!Attrs.empty())
+ ActualAttrs = new ParamAttrsList(Attrs);
+ FunctionType *FT = FunctionType::get(*$1, Params, isVarArg, ActualAttrs);
delete $3; // Delete the argument list
delete $1; // Delete the return type handle
$$ = new PATypeHolder(HandleUpRefs(FT));
@@ -1318,18 +1323,26 @@
}
| VOID '(' ArgTypeListI ')' OptFuncAttrs {
std::vector<const Type*> Params;
- std::vector<FunctionType::ParameterAttributes> Attrs;
- Attrs.push_back($5);
- for (TypeWithAttrsList::iterator I=$3->begin(), E=$3->end(); I != E; ++I) {
+ ParamAttrsList Attrs;
+ if ($5 != NoAttributeSet)
+ Attrs.addAttributes(0, $5);
+ TypeWithAttrsList::iterator I = $3->begin(), E = $3->end();
+ unsigned index = 1;
+ for ( ; I != E; ++I, ++index) {
const Type* Ty = I->Ty->get();
Params.push_back(Ty);
if (Ty != Type::VoidTy)
- Attrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ Attrs.addAttributes(index, I->Attrs);
}
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- FunctionType *FT = FunctionType::get($1, Params, isVarArg, Attrs);
+ ParamAttrsList *ActualAttrs = 0;
+ if (!Attrs.empty())
+ ActualAttrs = new ParamAttrsList(Attrs);
+
+ FunctionType *FT = FunctionType::get($1, Params, isVarArg, ActualAttrs);
delete $3; // Delete the argument list
$$ = new PATypeHolder(HandleUpRefs(FT));
CHECK_FOR_ERROR
@@ -1417,14 +1430,14 @@
: ArgTypeList
| ArgTypeList ',' DOTDOTDOT {
$$=$1;
- TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
+ TypeWithAttrs TWA; TWA.Attrs = NoAttributeSet;
TWA.Ty = new PATypeHolder(Type::VoidTy);
$$->push_back(TWA);
CHECK_FOR_ERROR
}
| DOTDOTDOT {
$$ = new TypeWithAttrsList;
- TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
+ TypeWithAttrs TWA; TWA.Attrs = NoAttributeSet;
TWA.Ty = new PATypeHolder(Type::VoidTy);
$$->push_back(TWA);
CHECK_FOR_ERROR
@@ -2087,7 +2100,7 @@
struct ArgListEntry E;
E.Ty = new PATypeHolder(Type::VoidTy);
E.Name = 0;
- E.Attrs = FunctionType::NoAttributeSet;
+ E.Attrs = NoAttributeSet;
$$->push_back(E);
CHECK_FOR_ERROR
}
@@ -2096,7 +2109,7 @@
struct ArgListEntry E;
E.Ty = new PATypeHolder(Type::VoidTy);
E.Name = 0;
- E.Attrs = FunctionType::NoAttributeSet;
+ E.Attrs = NoAttributeSet;
$$->push_back(E);
CHECK_FOR_ERROR
}
@@ -2117,24 +2130,31 @@
GEN_ERROR("Reference to abstract result: "+ $2->get()->getDescription());
std::vector<const Type*> ParamTypeList;
- std::vector<FunctionType::ParameterAttributes> ParamAttrs;
- ParamAttrs.push_back($7);
+ ParamAttrsList ParamAttrs;
+ if ($7 != NoAttributeSet)
+ ParamAttrs.addAttributes(0, $7);
if ($5) { // If there are arguments...
- for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I) {
+ unsigned index = 1;
+ for (ArgListType::iterator I = $5->begin(); I != $5->end(); ++I, ++index) {
const Type* Ty = I->Ty->get();
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
ParamTypeList.push_back(Ty);
if (Ty != Type::VoidTy)
- ParamAttrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ ParamAttrs.addAttributes(index, I->Attrs);
}
}
bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
if (isVarArg) ParamTypeList.pop_back();
- FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg,
- ParamAttrs);
+ ParamAttrsList *ActualAttrs = 0;
+ if (!ParamAttrs.empty())
+ ActualAttrs = new ParamAttrsList(ParamAttrs);
+
+ FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg,
+ ActualAttrs);
const PointerType *PFT = PointerType::get(FT);
delete $2;
@@ -2465,17 +2485,24 @@
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- FunctionType::ParamAttrsList ParamAttrs;
- ParamAttrs.push_back($8);
- for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) {
+ ParamAttrsList ParamAttrs;
+ if ($8 != NoAttributeSet)
+ ParamAttrs.addAttributes(0, $8);
+ ValueRefList::iterator I = $6->begin(), E = $6->end();
+ unsigned index = 1;
+ for (; I != E; ++I, ++index) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- ParamAttrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ ParamAttrs.addAttributes(index, I->Attrs);
}
- Ty = FunctionType::get($3->get(), ParamTypes, false, ParamAttrs);
+ ParamAttrsList *Attrs = 0;
+ if (!ParamAttrs.empty())
+ Attrs = new ParamAttrsList(ParamAttrs);
+ Ty = FunctionType::get($3->get(), ParamTypes, false, Attrs);
PFTy = PointerType::get(Ty);
}
@@ -2764,17 +2791,25 @@
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
// Pull out the types of all of the arguments...
std::vector<const Type*> ParamTypes;
- FunctionType::ParamAttrsList ParamAttrs;
- ParamAttrs.push_back($8);
- for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) {
+ ParamAttrsList ParamAttrs;
+ if ($8 != NoAttributeSet)
+ ParamAttrs.addAttributes(0, $8);
+ unsigned index = 1;
+ ValueRefList::iterator I = $6->begin(), E = $6->end();
+ for (; I != E; ++I, ++index) {
const Type *Ty = I->Val->getType();
if (Ty == Type::VoidTy)
GEN_ERROR("Short call syntax cannot be used with varargs");
ParamTypes.push_back(Ty);
- ParamAttrs.push_back(I->Attrs);
+ if (I->Attrs != NoAttributeSet)
+ ParamAttrs.addAttributes(index, I->Attrs);
}
- Ty = FunctionType::get($3->get(), ParamTypes, false, ParamAttrs);
+ ParamAttrsList *Attrs = 0;
+ if (!ParamAttrs.empty())
+ Attrs = new ParamAttrsList(ParamAttrs);
+
+ Ty = FunctionType::get($3->get(), ParamTypes, false, Attrs);
PFTy = PointerType::get(Ty);
}
diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs
index a539441..2eebb71 100644
--- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs
+++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs
@@ -377,6 +377,7 @@
#include "llvm/InlineAsm.h"
#include "llvm/Instructions.h"
#include "llvm/Module.h"
+#include "llvm/ParameterAttributes.h"
#include "llvm/ValueSymbolTable.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/ADT/STLExtras.h"
@@ -737,14 +738,21 @@
static bool FuncTysDifferOnlyBySRet(const FunctionType *F1,
const FunctionType *F2) {
if (F1->getReturnType() != F2->getReturnType() ||
- F1->getNumParams() != F2->getNumParams() ||
- F1->getParamAttrs(0) != F2->getParamAttrs(0))
+ F1->getNumParams() != F2->getNumParams())
return false;
- unsigned SRetMask = ~unsigned(FunctionType::StructRetAttribute);
+ ParamAttrsList PAL1;
+ if (F1->getParamAttrs())
+ PAL1 = *F1->getParamAttrs();
+ ParamAttrsList PAL2;
+ if (F2->getParamAttrs())
+ PAL2 = *F2->getParamAttrs();
+ if (PAL1.getParamAttrs(0) != PAL2.getParamAttrs(0))
+ return false;
+ unsigned SRetMask = ~unsigned(StructRetAttribute);
for (unsigned i = 0; i < F1->getNumParams(); ++i) {
if (F1->getParamType(i) != F2->getParamType(i) ||
- unsigned(F1->getParamAttrs(i+1)) & SRetMask !=
- unsigned(F2->getParamAttrs(i+1)) & SRetMask)
+ unsigned(PAL1.getParamAttrs(i+1)) & SRetMask !=
+ unsigned(PAL2.getParamAttrs(i+1)) & SRetMask)
return false;
}
return true;
@@ -783,13 +791,15 @@
if (PF1 && PF2) {
const FunctionType *FT1 = dyn_cast<FunctionType>(PF1->getElementType());
const FunctionType *FT2 = dyn_cast<FunctionType>(PF2->getElementType());
- if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2))
- if (FT2->paramHasAttr(1, FunctionType::StructRetAttribute))
+ if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2)) {
+ const ParamAttrsList *PAL2 = FT2->getParamAttrs();
+ if (PAL2 && PAL2->paramHasAttr(1, StructRetAttribute))
return V;
else if (Constant *C = dyn_cast<Constant>(V))
return ConstantExpr::getBitCast(C, PF1);
else
return new BitCastInst(V, PF1, "upgrd.cast", CurBB);
+ }
}
return 0;
@@ -2107,7 +2117,7 @@
#endif
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1731 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1741 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
@@ -2150,7 +2160,7 @@
llvm::Module::Endianness Endianness;
} YYSTYPE;
/* Line 196 of yacc.c. */
-#line 2154 "UpgradeParser.tab.c"
+#line 2164 "UpgradeParser.tab.c"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
@@ -2162,7 +2172,7 @@
/* Line 219 of yacc.c. */
-#line 2166 "UpgradeParser.tab.c"
+#line 2176 "UpgradeParser.tab.c"
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# define YYSIZE_T __SIZE_TYPE__
@@ -2522,38 +2532,38 @@
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const unsigned short int yyrline[] =
{
- 0, 1871, 1871, 1872, 1880, 1881, 1891, 1891, 1891, 1891,
- 1891, 1891, 1891, 1891, 1891, 1891, 1891, 1895, 1895, 1895,
- 1899, 1899, 1899, 1899, 1899, 1899, 1903, 1903, 1904, 1904,
- 1905, 1905, 1906, 1906, 1907, 1907, 1911, 1911, 1912, 1912,
- 1913, 1913, 1914, 1914, 1915, 1915, 1916, 1916, 1917, 1917,
- 1918, 1919, 1922, 1922, 1922, 1922, 1926, 1926, 1926, 1926,
- 1926, 1926, 1926, 1927, 1927, 1927, 1927, 1927, 1927, 1933,
- 1933, 1933, 1933, 1937, 1937, 1937, 1937, 1941, 1941, 1945,
- 1945, 1950, 1953, 1958, 1959, 1960, 1961, 1962, 1963, 1964,
- 1965, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1986,
- 1987, 1995, 1996, 2004, 2013, 2014, 2021, 2022, 2026, 2030,
- 2046, 2047, 2054, 2055, 2062, 2070, 2070, 2070, 2070, 2070,
- 2070, 2070, 2071, 2071, 2071, 2071, 2071, 2076, 2080, 2084,
- 2089, 2098, 2116, 2122, 2135, 2146, 2150, 2163, 2167, 2181,
- 2185, 2192, 2193, 2199, 2206, 2218, 2248, 2261, 2284, 2312,
- 2334, 2345, 2367, 2378, 2387, 2392, 2451, 2458, 2466, 2473,
- 2480, 2484, 2488, 2497, 2512, 2525, 2534, 2562, 2575, 2584,
- 2590, 2596, 2607, 2613, 2619, 2630, 2631, 2640, 2641, 2653,
- 2662, 2663, 2664, 2665, 2666, 2682, 2702, 2704, 2706, 2706,
- 2713, 2713, 2721, 2721, 2729, 2729, 2738, 2740, 2742, 2747,
- 2761, 2762, 2766, 2769, 2777, 2781, 2788, 2792, 2796, 2800,
- 2808, 2808, 2812, 2813, 2817, 2825, 2830, 2838, 2839, 2846,
- 2853, 2857, 3038, 3038, 3042, 3042, 3052, 3052, 3056, 3061,
- 3062, 3063, 3067, 3068, 3067, 3080, 3081, 3086, 3087, 3088,
- 3089, 3093, 3097, 3098, 3099, 3100, 3121, 3125, 3139, 3140,
- 3145, 3145, 3153, 3163, 3166, 3175, 3186, 3191, 3200, 3211,
- 3211, 3214, 3218, 3222, 3227, 3237, 3255, 3264, 3332, 3336,
- 3343, 3355, 3370, 3400, 3410, 3420, 3424, 3431, 3432, 3436,
- 3439, 3445, 3464, 3482, 3498, 3512, 3526, 3537, 3555, 3564,
- 3573, 3580, 3601, 3625, 3631, 3637, 3643, 3659, 3746, 3754,
- 3755, 3759, 3760, 3764, 3770, 3777, 3783, 3790, 3797, 3810,
- 3836
+ 0, 1881, 1881, 1882, 1890, 1891, 1901, 1901, 1901, 1901,
+ 1901, 1901, 1901, 1901, 1901, 1901, 1901, 1905, 1905, 1905,
+ 1909, 1909, 1909, 1909, 1909, 1909, 1913, 1913, 1914, 1914,
+ 1915, 1915, 1916, 1916, 1917, 1917, 1921, 1921, 1922, 1922,
+ 1923, 1923, 1924, 1924, 1925, 1925, 1926, 1926, 1927, 1927,
+ 1928, 1929, 1932, 1932, 1932, 1932, 1936, 1936, 1936, 1936,
+ 1936, 1936, 1936, 1937, 1937, 1937, 1937, 1937, 1937, 1943,
+ 1943, 1943, 1943, 1947, 1947, 1947, 1947, 1951, 1951, 1955,
+ 1955, 1960, 1963, 1968, 1969, 1970, 1971, 1972, 1973, 1974,
+ 1975, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1996,
+ 1997, 2005, 2006, 2014, 2023, 2024, 2031, 2032, 2036, 2040,
+ 2056, 2057, 2064, 2065, 2072, 2080, 2080, 2080, 2080, 2080,
+ 2080, 2080, 2081, 2081, 2081, 2081, 2081, 2086, 2090, 2094,
+ 2099, 2108, 2126, 2132, 2145, 2156, 2160, 2173, 2177, 2191,
+ 2195, 2202, 2203, 2209, 2216, 2228, 2258, 2271, 2294, 2322,
+ 2344, 2355, 2377, 2388, 2397, 2402, 2461, 2468, 2476, 2483,
+ 2490, 2494, 2498, 2507, 2522, 2535, 2544, 2572, 2585, 2594,
+ 2600, 2606, 2617, 2623, 2629, 2640, 2641, 2650, 2651, 2663,
+ 2672, 2673, 2674, 2675, 2676, 2692, 2712, 2714, 2716, 2716,
+ 2723, 2723, 2731, 2731, 2739, 2739, 2748, 2750, 2752, 2757,
+ 2771, 2772, 2776, 2779, 2787, 2791, 2798, 2802, 2806, 2810,
+ 2818, 2818, 2822, 2823, 2827, 2835, 2840, 2848, 2849, 2856,
+ 2863, 2867, 3049, 3049, 3053, 3053, 3063, 3063, 3067, 3072,
+ 3073, 3074, 3078, 3079, 3078, 3091, 3092, 3097, 3098, 3099,
+ 3100, 3104, 3108, 3109, 3110, 3111, 3132, 3136, 3150, 3151,
+ 3156, 3156, 3164, 3174, 3177, 3186, 3197, 3202, 3211, 3222,
+ 3222, 3225, 3229, 3233, 3238, 3248, 3266, 3275, 3345, 3349,
+ 3356, 3368, 3383, 3413, 3423, 3433, 3437, 3444, 3445, 3449,
+ 3452, 3458, 3477, 3495, 3511, 3525, 3539, 3550, 3568, 3577,
+ 3586, 3593, 3614, 3638, 3644, 3650, 3656, 3672, 3762, 3770,
+ 3771, 3775, 3776, 3780, 3786, 3793, 3799, 3806, 3813, 3826,
+ 3852
};
#endif
@@ -3943,7 +3953,7 @@
switch (yyn)
{
case 3:
-#line 1872 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1882 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range!
error("Value too large for type");
@@ -3952,7 +3962,7 @@
break;
case 5:
-#line 1881 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1891 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX) // Outside of my range!
error("Value too large for type");
@@ -3961,226 +3971,226 @@
break;
case 26:
-#line 1903 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1913 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_EQ; ;}
break;
case 27:
-#line 1903 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1913 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_NE; ;}
break;
case 28:
-#line 1904 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1914 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_SLT; ;}
break;
case 29:
-#line 1904 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1914 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_SGT; ;}
break;
case 30:
-#line 1905 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1915 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_SLE; ;}
break;
case 31:
-#line 1905 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1915 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_SGE; ;}
break;
case 32:
-#line 1906 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1916 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_ULT; ;}
break;
case 33:
-#line 1906 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1916 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_UGT; ;}
break;
case 34:
-#line 1907 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1917 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_ULE; ;}
break;
case 35:
-#line 1907 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1917 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.IPred) = ICmpInst::ICMP_UGE; ;}
break;
case 36:
-#line 1911 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1921 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_OEQ; ;}
break;
case 37:
-#line 1911 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1921 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_ONE; ;}
break;
case 38:
-#line 1912 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1922 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_OLT; ;}
break;
case 39:
-#line 1912 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1922 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_OGT; ;}
break;
case 40:
-#line 1913 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1923 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_OLE; ;}
break;
case 41:
-#line 1913 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1923 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_OGE; ;}
break;
case 42:
-#line 1914 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1924 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_ORD; ;}
break;
case 43:
-#line 1914 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1924 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_UNO; ;}
break;
case 44:
-#line 1915 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1925 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_UEQ; ;}
break;
case 45:
-#line 1915 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1925 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_UNE; ;}
break;
case 46:
-#line 1916 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1926 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_ULT; ;}
break;
case 47:
-#line 1916 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1926 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_UGT; ;}
break;
case 48:
-#line 1917 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1927 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_ULE; ;}
break;
case 49:
-#line 1917 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1927 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_UGE; ;}
break;
case 50:
-#line 1918 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1928 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_TRUE; ;}
break;
case 51:
-#line 1919 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1929 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.FPred) = FCmpInst::FCMP_FALSE; ;}
break;
case 81:
-#line 1950 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1960 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.StrVal) = (yyvsp[-1].StrVal);
;}
break;
case 82:
-#line 1953 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1963 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.StrVal) = 0;
;}
break;
case 83:
-#line 1958 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1968 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::InternalLinkage; ;}
break;
case 84:
-#line 1959 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1969 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;}
break;
case 85:
-#line 1960 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1970 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::WeakLinkage; ;}
break;
case 86:
-#line 1961 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1971 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::AppendingLinkage; ;}
break;
case 87:
-#line 1962 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1972 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 88:
-#line 1963 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1973 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;}
break;
case 89:
-#line 1964 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1974 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 90:
-#line 1965 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1975 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 91:
-#line 1969 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1979 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::C; ;}
break;
case 92:
-#line 1970 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1980 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::C; ;}
break;
case 93:
-#line 1971 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1981 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::CSRet; ;}
break;
case 94:
-#line 1972 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1982 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::Fast; ;}
break;
case 95:
-#line 1973 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1983 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::Cold; ;}
break;
case 96:
-#line 1974 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1984 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::X86_StdCall; ;}
break;
case 97:
-#line 1975 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1985 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = OldCallingConv::X86_FastCall; ;}
break;
case 98:
-#line 1976 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1986 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val))
error("Calling conv too large");
@@ -4189,12 +4199,12 @@
break;
case 99:
-#line 1986 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1996 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
case 100:
-#line 1987 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1997 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.UIntVal) = (yyvsp[0].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -4203,12 +4213,12 @@
break;
case 101:
-#line 1995 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2005 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.UIntVal) = 0; ;}
break;
case 102:
-#line 1996 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2006 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.UIntVal) = (yyvsp[0].UInt64Val);
if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal)))
@@ -4217,7 +4227,7 @@
break;
case 103:
-#line 2004 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2014 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i)
if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\')
@@ -4227,27 +4237,27 @@
break;
case 104:
-#line 2013 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2023 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 105:
-#line 2014 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2024 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.StrVal) = (yyvsp[0].StrVal); ;}
break;
case 106:
-#line 2021 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2031 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{;}
break;
case 107:
-#line 2022 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2032 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{;}
break;
case 108:
-#line 2026 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2036 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurGV->setSection((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -4255,7 +4265,7 @@
break;
case 109:
-#line 2030 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2040 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val)))
error("Alignment must be a power of two");
@@ -4265,7 +4275,7 @@
break;
case 111:
-#line 2047 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2057 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T);
(yyval.TypeVal).S.makeSignless();
@@ -4273,7 +4283,7 @@
break;
case 113:
-#line 2055 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2065 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T);
(yyval.TypeVal).S.makeSignless();
@@ -4281,7 +4291,7 @@
break;
case 114:
-#line 2062 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2072 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!UpRefs.empty())
error("Invalid upreference in type: " + (*(yyvsp[0].TypeVal).PAT)->getDescription());
@@ -4290,7 +4300,7 @@
break;
case 127:
-#line 2076 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2086 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T);
(yyval.TypeVal).S.copy((yyvsp[0].PrimType).S);
@@ -4298,7 +4308,7 @@
break;
case 128:
-#line 2080 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2090 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeVal).PAT = new PATypeHolder(OpaqueType::get());
(yyval.TypeVal).S.makeSignless();
@@ -4306,7 +4316,7 @@
break;
case 129:
-#line 2084 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2094 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Named types are also simple types...
(yyval.TypeVal).S.copy(getTypeSign((yyvsp[0].ValIDVal)));
const Type* tmp = getType((yyvsp[0].ValIDVal));
@@ -4315,7 +4325,7 @@
break;
case 130:
-#line 2089 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2099 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Type UpReference
if ((yyvsp[0].UInt64Val) > (uint64_t)~0U)
error("Value out of range");
@@ -4328,7 +4338,7 @@
break;
case 131:
-#line 2098 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Function derived type?
(yyval.TypeVal).S.makeComposite((yyvsp[-3].TypeVal).S);
std::vector<const Type*> Params;
@@ -4337,20 +4347,20 @@
Params.push_back(I->PAT->get());
(yyval.TypeVal).S.add(I->S);
}
- FunctionType::ParamAttrsList ParamAttrs;
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- (yyval.TypeVal).PAT = new PATypeHolder(
- HandleUpRefs(FunctionType::get((yyvsp[-3].TypeVal).PAT->get(), Params, isVarArg,
- ParamAttrs), (yyval.TypeVal).S));
+ const FunctionType *FTy =
+ FunctionType::get((yyvsp[-3].TypeVal).PAT->get(), Params, isVarArg, 0);
+
+ (yyval.TypeVal).PAT = new PATypeHolder( HandleUpRefs(FTy, (yyval.TypeVal).S) );
delete (yyvsp[-3].TypeVal).PAT; // Delete the return type handle
delete (yyvsp[-1].TypeList); // Delete the argument list
;}
break;
case 132:
-#line 2116 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2126 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Sized array type?
(yyval.TypeVal).S.makeComposite((yyvsp[-1].TypeVal).S);
(yyval.TypeVal).PAT = new PATypeHolder(HandleUpRefs(ArrayType::get((yyvsp[-1].TypeVal).PAT->get(),
@@ -4360,7 +4370,7 @@
break;
case 133:
-#line 2122 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2132 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Vector type?
const llvm::Type* ElemTy = (yyvsp[-1].TypeVal).PAT->get();
if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val))
@@ -4377,7 +4387,7 @@
break;
case 134:
-#line 2135 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2145 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Structure type?
std::vector<const Type*> Elements;
(yyval.TypeVal).S.makeComposite();
@@ -4392,7 +4402,7 @@
break;
case 135:
-#line 2146 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2156 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Empty structure type?
(yyval.TypeVal).PAT = new PATypeHolder(StructType::get(std::vector<const Type*>()));
(yyval.TypeVal).S.makeComposite();
@@ -4400,7 +4410,7 @@
break;
case 136:
-#line 2150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2160 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Packed Structure type?
(yyval.TypeVal).S.makeComposite();
std::vector<const Type*> Elements;
@@ -4417,7 +4427,7 @@
break;
case 137:
-#line 2163 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2173 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Empty packed structure type?
(yyval.TypeVal).PAT = new PATypeHolder(StructType::get(std::vector<const Type*>(),true));
(yyval.TypeVal).S.makeComposite();
@@ -4425,7 +4435,7 @@
break;
case 138:
-#line 2167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2177 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Pointer type?
if ((yyvsp[-1].TypeVal).PAT->get() == Type::LabelTy)
error("Cannot form a pointer to a basic block");
@@ -4437,7 +4447,7 @@
break;
case 139:
-#line 2181 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2191 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeList) = new std::list<PATypeInfo>();
(yyval.TypeList)->push_back((yyvsp[0].TypeVal));
@@ -4445,14 +4455,14 @@
break;
case 140:
-#line 2185 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2195 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back((yyvsp[0].TypeVal));
;}
break;
case 142:
-#line 2193 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2203 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
PATypeInfo VoidTI;
VoidTI.PAT = new PATypeHolder(Type::VoidTy);
@@ -4462,7 +4472,7 @@
break;
case 143:
-#line 2199 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2209 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeList) = new std::list<PATypeInfo>();
PATypeInfo VoidTI;
@@ -4473,14 +4483,14 @@
break;
case 144:
-#line 2206 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2216 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TypeList) = new std::list<PATypeInfo>();
;}
break;
case 145:
-#line 2218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2228 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Nonempty unsized arr
const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal).PAT->get());
if (ATy == 0)
@@ -4514,7 +4524,7 @@
break;
case 146:
-#line 2248 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2258 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).PAT->get());
if (ATy == 0)
@@ -4531,7 +4541,7 @@
break;
case 147:
-#line 2261 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2271 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).PAT->get());
if (ATy == 0)
@@ -4558,7 +4568,7 @@
break;
case 148:
-#line 2284 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2294 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Nonempty unsized arr
const VectorType *PTy = dyn_cast<VectorType>((yyvsp[-3].TypeVal).PAT->get());
if (PTy == 0)
@@ -4590,7 +4600,7 @@
break;
case 149:
-#line 2312 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2322 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal).PAT->get());
if (STy == 0)
@@ -4616,7 +4626,7 @@
break;
case 150:
-#line 2334 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2344 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal).PAT->get());
if (STy == 0)
@@ -4631,7 +4641,7 @@
break;
case 151:
-#line 2345 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2355 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal).PAT->get());
if (STy == 0)
@@ -4657,7 +4667,7 @@
break;
case 152:
-#line 2367 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2377 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const StructType *STy = dyn_cast<StructType>((yyvsp[-4].TypeVal).PAT->get());
if (STy == 0)
@@ -4672,7 +4682,7 @@
break;
case 153:
-#line 2378 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2388 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get());
if (PTy == 0)
@@ -4685,7 +4695,7 @@
break;
case 154:
-#line 2387 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2397 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ConstVal).C = UndefValue::get((yyvsp[-1].TypeVal).PAT->get());
(yyval.ConstVal).S.copy((yyvsp[-1].TypeVal).S);
@@ -4694,7 +4704,7 @@
break;
case 155:
-#line 2392 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2402 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get());
if (Ty == 0)
@@ -4757,7 +4767,7 @@
break;
case 156:
-#line 2451 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2461 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[-1].TypeVal).PAT->get() != (yyvsp[0].ConstVal).C->getType())
error("Mismatched types for constant expression");
@@ -4768,7 +4778,7 @@
break;
case 157:
-#line 2458 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2468 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-1].TypeVal).PAT->get();
if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty))
@@ -4780,7 +4790,7 @@
break;
case 158:
-#line 2466 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2476 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // integral constants
const Type *Ty = (yyvsp[-1].PrimType).T;
if (!ConstantInt::isValueValidForType(Ty, (yyvsp[0].SInt64Val)))
@@ -4791,7 +4801,7 @@
break;
case 159:
-#line 2473 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2483 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // integral constants
const Type *Ty = (yyvsp[-1].PrimType).T;
if (!ConstantInt::isValueValidForType(Ty, (yyvsp[0].UInt64Val)))
@@ -4802,7 +4812,7 @@
break;
case 160:
-#line 2480 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2490 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Boolean constants
(yyval.ConstVal).C = ConstantInt::get(Type::Int1Ty, true);
(yyval.ConstVal).S.makeUnsigned();
@@ -4810,7 +4820,7 @@
break;
case 161:
-#line 2484 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2494 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Boolean constants
(yyval.ConstVal).C = ConstantInt::get(Type::Int1Ty, false);
(yyval.ConstVal).S.makeUnsigned();
@@ -4818,7 +4828,7 @@
break;
case 162:
-#line 2488 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2498 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Float & Double constants
if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType).T, (yyvsp[0].FPVal)))
error("Floating point constant invalid for type");
@@ -4828,7 +4838,7 @@
break;
case 163:
-#line 2497 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2507 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type* SrcTy = (yyvsp[-3].ConstVal).C->getType();
const Type* DstTy = (yyvsp[-1].TypeVal).PAT->get();
@@ -4847,7 +4857,7 @@
break;
case 164:
-#line 2512 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2522 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-2].ConstVal).C->getType();
if (!isa<PointerType>(Ty))
@@ -4864,7 +4874,7 @@
break;
case 165:
-#line 2525 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2535 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!(yyvsp[-5].ConstVal).C->getType()->isInteger() ||
cast<IntegerType>((yyvsp[-5].ConstVal).C->getType())->getBitWidth() != 1)
@@ -4877,7 +4887,7 @@
break;
case 166:
-#line 2534 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2544 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-3].ConstVal).C->getType();
if (Ty != (yyvsp[-1].ConstVal).C->getType())
@@ -4909,7 +4919,7 @@
break;
case 167:
-#line 2562 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2572 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type* Ty = (yyvsp[-3].ConstVal).C->getType();
if (Ty != (yyvsp[-1].ConstVal).C->getType())
@@ -4926,7 +4936,7 @@
break;
case 168:
-#line 2575 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2585 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type* Ty = (yyvsp[-3].ConstVal).C->getType();
if (Ty != (yyvsp[-1].ConstVal).C->getType())
@@ -4939,7 +4949,7 @@
break;
case 169:
-#line 2584 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2594 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[-3].ConstVal).C->getType() != (yyvsp[-1].ConstVal).C->getType())
error("icmp operand types must match");
@@ -4949,7 +4959,7 @@
break;
case 170:
-#line 2590 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2600 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[-3].ConstVal).C->getType() != (yyvsp[-1].ConstVal).C->getType())
error("fcmp operand types must match");
@@ -4959,7 +4969,7 @@
break;
case 171:
-#line 2596 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2606 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!(yyvsp[-1].ConstVal).C->getType()->isInteger() ||
cast<IntegerType>((yyvsp[-1].ConstVal).C->getType())->getBitWidth() != 8)
@@ -4974,7 +4984,7 @@
break;
case 172:
-#line 2607 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2617 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[-3].ConstVal).C, (yyvsp[-1].ConstVal).C))
error("Invalid extractelement operands");
@@ -4984,7 +4994,7 @@
break;
case 173:
-#line 2613 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2623 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[-5].ConstVal).C, (yyvsp[-3].ConstVal).C, (yyvsp[-1].ConstVal).C))
error("Invalid insertelement operands");
@@ -4994,7 +5004,7 @@
break;
case 174:
-#line 2619 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2629 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[-5].ConstVal).C, (yyvsp[-3].ConstVal).C, (yyvsp[-1].ConstVal).C))
error("Invalid shufflevector operands");
@@ -5004,12 +5014,12 @@
break;
case 175:
-#line 2630 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2640 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ ((yyval.ConstVector) = (yyvsp[-2].ConstVector))->push_back((yyvsp[0].ConstVal)); ;}
break;
case 176:
-#line 2631 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2641 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ConstVector) = new std::vector<ConstInfo>();
(yyval.ConstVector)->push_back((yyvsp[0].ConstVal));
@@ -5017,17 +5027,17 @@
break;
case 177:
-#line 2640 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2650 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 178:
-#line 2641 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2651 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 179:
-#line 2653 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2663 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ModuleVal) = ParserResult = (yyvsp[0].ModuleVal);
CurModule.ModuleDone();
@@ -5035,27 +5045,27 @@
break;
case 180:
-#line 2662 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2672 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ModuleVal) = (yyvsp[-1].ModuleVal); CurFun.FunctionDone(); ;}
break;
case 181:
-#line 2663 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2673 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ModuleVal) = (yyvsp[-1].ModuleVal); ;}
break;
case 182:
-#line 2664 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2674 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ModuleVal) = (yyvsp[-3].ModuleVal); ;}
break;
case 183:
-#line 2665 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2675 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ModuleVal) = (yyvsp[-1].ModuleVal); ;}
break;
case 184:
-#line 2666 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2676 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ModuleVal) = CurModule.CurrentModule;
// Emit an error if there are any unresolved types left.
@@ -5071,7 +5081,7 @@
break;
case 185:
-#line 2682 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2692 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
// Eagerly resolve types. This is not an optimization, this is a
// requirement that is due to the fact that we could have this:
@@ -5095,19 +5105,19 @@
break;
case 186:
-#line 2702 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2712 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Function prototypes can be in const pool
;}
break;
case 187:
-#line 2704 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2714 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Asm blocks can be in the const pool
;}
break;
case 188:
-#line 2706 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2716 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[0].ConstVal).C == 0)
error("Global value initializer is not a constant");
@@ -5116,14 +5126,14 @@
break;
case 189:
-#line 2710 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2720 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurGV = 0;
;}
break;
case 190:
-#line 2713 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2723 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[0].TypeVal).PAT->get();
CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::ExternalLinkage, (yyvsp[-1].BoolVal), Ty, 0,
@@ -5133,14 +5143,14 @@
break;
case 191:
-#line 2718 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2728 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurGV = 0;
;}
break;
case 192:
-#line 2721 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2731 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[0].TypeVal).PAT->get();
CurGV = ParseGlobalVariable((yyvsp[-3].StrVal), GlobalValue::DLLImportLinkage, (yyvsp[-1].BoolVal), Ty, 0,
@@ -5150,14 +5160,14 @@
break;
case 193:
-#line 2726 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2736 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurGV = 0;
;}
break;
case 194:
-#line 2729 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2739 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[0].TypeVal).PAT->get();
CurGV =
@@ -5168,32 +5178,32 @@
break;
case 195:
-#line 2735 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2745 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurGV = 0;
;}
break;
case 196:
-#line 2738 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2748 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
;}
break;
case 197:
-#line 2740 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2750 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
;}
break;
case 198:
-#line 2742 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2752 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
;}
break;
case 199:
-#line 2747 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2757 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const std::string &AsmSoFar = CurModule.CurrentModule->getModuleInlineAsm();
char *EndStr = UnEscapeLexed((yyvsp[0].StrVal), true);
@@ -5208,24 +5218,24 @@
break;
case 200:
-#line 2761 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2771 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Endianness) = Module::BigEndian; ;}
break;
case 201:
-#line 2762 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2772 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Endianness) = Module::LittleEndian; ;}
break;
case 202:
-#line 2766 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2776 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurModule.setEndianness((yyvsp[0].Endianness));
;}
break;
case 203:
-#line 2769 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2779 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[0].UInt64Val) == 32)
CurModule.setPointerSize(Module::Pointer32);
@@ -5237,7 +5247,7 @@
break;
case 204:
-#line 2777 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2787 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurModule.CurrentModule->setTargetTriple((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -5245,7 +5255,7 @@
break;
case 205:
-#line 2781 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2791 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurModule.CurrentModule->setDataLayout((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -5253,7 +5263,7 @@
break;
case 207:
-#line 2792 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2802 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -5261,7 +5271,7 @@
break;
case 208:
-#line 2796 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2806 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
CurModule.CurrentModule->addLibrary((yyvsp[0].StrVal));
free((yyvsp[0].StrVal));
@@ -5269,17 +5279,17 @@
break;
case 209:
-#line 2800 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2810 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ ;}
break;
case 213:
-#line 2813 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2823 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.StrVal) = 0; ;}
break;
case 214:
-#line 2817 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2827 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[-1].TypeVal).PAT->get() == Type::VoidTy)
error("void typed arguments are invalid");
@@ -5288,7 +5298,7 @@
break;
case 215:
-#line 2825 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2835 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ArgList) = (yyvsp[-2].ArgList);
(yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -5297,7 +5307,7 @@
break;
case 216:
-#line 2830 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2840 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ArgList) = new std::vector<std::pair<PATypeInfo,char*> >();
(yyval.ArgList)->push_back(*(yyvsp[0].ArgVal));
@@ -5306,12 +5316,12 @@
break;
case 217:
-#line 2838 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2848 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ArgList) = (yyvsp[0].ArgList); ;}
break;
case 218:
-#line 2839 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2849 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ArgList) = (yyvsp[-2].ArgList);
PATypeInfo VoidTI;
@@ -5322,7 +5332,7 @@
break;
case 219:
-#line 2846 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2856 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ArgList) = new std::vector<std::pair<PATypeInfo,char*> >();
PATypeInfo VoidTI;
@@ -5333,12 +5343,12 @@
break;
case 220:
-#line 2853 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2863 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ArgList) = 0; ;}
break;
case 221:
-#line 2857 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 2867 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
UnEscapeLexed((yyvsp[-5].StrVal));
std::string FunctionName((yyvsp[-5].StrVal));
@@ -5376,14 +5386,15 @@
// Convert the CSRet calling convention into the corresponding parameter
// attribute.
- FunctionType::ParamAttrsList ParamAttrs;
+ ParamAttrsList *ParamAttrs = 0;
if ((yyvsp[-7].UIntVal) == OldCallingConv::CSRet) {
- ParamAttrs.push_back(FunctionType::NoAttributeSet); // result
- ParamAttrs.push_back(FunctionType::StructRetAttribute); // first arg
+ ParamAttrs = new ParamAttrsList();
+ ParamAttrs->addAttributes(0, NoAttributeSet); // result
+ ParamAttrs->addAttributes(1, StructRetAttribute); // first arg
}
- const FunctionType *FT = FunctionType::get(RetTy, ParamTyList, isVarArg,
- ParamAttrs);
+ const FunctionType *FT =
+ FunctionType::get(RetTy, ParamTyList, isVarArg, ParamAttrs);
const PointerType *PFT = PointerType::get(FT);
delete (yyvsp[-6].TypeVal).PAT;
@@ -5520,12 +5531,12 @@
break;
case 224:
-#line 3042 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3053 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ CurFun.Linkage = (yyvsp[0].Linkage); ;}
break;
case 225:
-#line 3042 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3053 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
@@ -5536,39 +5547,39 @@
break;
case 228:
-#line 3056 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3067 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
;}
break;
case 229:
-#line 3061 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3072 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalLinkage; ;}
break;
case 230:
-#line 3062 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3073 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;}
break;
case 231:
-#line 3063 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3074 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;}
break;
case 232:
-#line 3067 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3078 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ CurFun.isDeclare = true; ;}
break;
case 233:
-#line 3068 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3079 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ CurFun.Linkage = (yyvsp[0].Linkage); ;}
break;
case 234:
-#line 3068 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3079 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.FunctionVal) = CurFun.CurrentFunction;
CurFun.FunctionDone();
@@ -5577,32 +5588,32 @@
break;
case 235:
-#line 3080 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3091 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 236:
-#line 3081 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3092 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 237:
-#line 3086 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3097 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::create((yyvsp[0].SInt64Val)); ;}
break;
case 238:
-#line 3087 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3098 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::create((yyvsp[0].UInt64Val)); ;}
break;
case 239:
-#line 3088 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3099 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::create((yyvsp[0].FPVal)); ;}
break;
case 240:
-#line 3089 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3100 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::get(Type::Int1Ty, true));
(yyval.ValIDVal).S.makeUnsigned();
@@ -5610,7 +5621,7 @@
break;
case 241:
-#line 3093 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3104 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ValIDVal) = ValID::create(ConstantInt::get(Type::Int1Ty, false));
(yyval.ValIDVal).S.makeUnsigned();
@@ -5618,22 +5629,22 @@
break;
case 242:
-#line 3097 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3108 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::createNull(); ;}
break;
case 243:
-#line 3098 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3109 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::createUndef(); ;}
break;
case 244:
-#line 3099 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3110 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::createZeroInit(); ;}
break;
case 245:
-#line 3100 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3111 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Nonempty unsized packed vector
const Type *ETy = (*(yyvsp[-1].ConstVector))[0].C->getType();
int NumElements = (yyvsp[-1].ConstVector)->size();
@@ -5658,7 +5669,7 @@
break;
case 246:
-#line 3121 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3132 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ValIDVal) = ValID::create((yyvsp[0].ConstVal).C);
(yyval.ValIDVal).S.copy((yyvsp[0].ConstVal).S);
@@ -5666,7 +5677,7 @@
break;
case 247:
-#line 3125 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3136 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
char *End = UnEscapeLexed((yyvsp[-2].StrVal), true);
std::string AsmStr = std::string((yyvsp[-2].StrVal), End);
@@ -5679,17 +5690,17 @@
break;
case 248:
-#line 3139 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3150 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::create((yyvsp[0].SIntVal)); (yyval.ValIDVal).S.makeSignless(); ;}
break;
case 249:
-#line 3140 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3151 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValIDVal) = ValID::create((yyvsp[0].StrVal)); (yyval.ValIDVal).S.makeSignless(); ;}
break;
case 252:
-#line 3153 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3164 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-1].TypeVal).PAT->get();
(yyvsp[0].ValIDVal).S.copy((yyvsp[-1].TypeVal).S);
@@ -5700,21 +5711,21 @@
break;
case 253:
-#line 3163 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3174 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
;}
break;
case 254:
-#line 3166 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3177 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Do not allow functions with 0 basic blocks
(yyval.FunctionVal) = (yyvsp[-1].FunctionVal);
;}
break;
case 255:
-#line 3175 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
ValueInfo VI; VI.V = (yyvsp[0].TermInstVal).TI; VI.S.copy((yyvsp[0].TermInstVal).S);
setValueName(VI, (yyvsp[-1].StrVal));
@@ -5726,7 +5737,7 @@
break;
case 256:
-#line 3186 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3197 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[0].InstVal).I)
(yyvsp[-1].BasicBlockVal)->getInstList().push_back((yyvsp[0].InstVal).I);
@@ -5735,7 +5746,7 @@
break;
case 257:
-#line 3191 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3202 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++),true);
// Make sure to move the basic block to the correct location in the
@@ -5748,7 +5759,7 @@
break;
case 258:
-#line 3200 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3211 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.BasicBlockVal) = CurBB = getBBVal(ValID::create((yyvsp[0].StrVal)), true);
// Make sure to move the basic block to the correct location in the
@@ -5761,7 +5772,7 @@
break;
case 261:
-#line 3214 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Return with a result...
(yyval.TermInstVal).TI = new ReturnInst((yyvsp[0].ValueVal).V);
(yyval.TermInstVal).S.makeSignless();
@@ -5769,7 +5780,7 @@
break;
case 262:
-#line 3218 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3229 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Return with no result...
(yyval.TermInstVal).TI = new ReturnInst();
(yyval.TermInstVal).S.makeSignless();
@@ -5777,7 +5788,7 @@
break;
case 263:
-#line 3222 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3233 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Unconditional Branch...
BasicBlock* tmpBB = getBBVal((yyvsp[0].ValIDVal));
(yyval.TermInstVal).TI = new BranchInst(tmpBB);
@@ -5786,7 +5797,7 @@
break;
case 264:
-#line 3227 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3238 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-3].ValIDVal).S.makeSignless();
(yyvsp[0].ValIDVal).S.makeSignless();
@@ -5800,7 +5811,7 @@
break;
case 265:
-#line 3237 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3248 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-6].ValIDVal).S.copy((yyvsp[-7].PrimType).S);
Value* tmpVal = getVal((yyvsp[-7].PrimType).T, (yyvsp[-6].ValIDVal));
@@ -5822,7 +5833,7 @@
break;
case 266:
-#line 3255 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3266 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-5].ValIDVal).S.copy((yyvsp[-6].PrimType).S);
Value* tmpVal = getVal((yyvsp[-6].PrimType).T, (yyvsp[-5].ValIDVal));
@@ -5835,7 +5846,7 @@
break;
case 267:
-#line 3265 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3276 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const PointerType *PFTy;
const FunctionType *Ty;
@@ -5853,10 +5864,11 @@
FTySign.add(I->S);
}
}
- FunctionType::ParamAttrsList ParamAttrs;
+ ParamAttrsList *ParamAttrs = 0;
if ((yyvsp[-11].UIntVal) == OldCallingConv::CSRet) {
- ParamAttrs.push_back(FunctionType::NoAttributeSet);
- ParamAttrs.push_back(FunctionType::StructRetAttribute);
+ ParamAttrs = new ParamAttrsList();
+ ParamAttrs->addAttributes(0, NoAttributeSet); // Function result
+ ParamAttrs->addAttributes(1, StructRetAttribute); // first param
}
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
if (isVarArg) ParamTypes.pop_back();
@@ -5870,6 +5882,7 @@
// and then the 0th element again to get the result type.
(yyval.TermInstVal).S.copy((yyvsp[-10].TypeVal).S.get(0).get(0));
}
+
(yyvsp[-9].ValIDVal).S.makeComposite(FTySign);
Value *V = getVal(PFTy, (yyvsp[-9].ValIDVal)); // Get the function we're calling...
BasicBlock *Normal = getBBVal((yyvsp[-3].ValIDVal));
@@ -5906,7 +5919,7 @@
break;
case 268:
-#line 3332 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3345 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TermInstVal).TI = new UnwindInst();
(yyval.TermInstVal).S.makeSignless();
@@ -5914,7 +5927,7 @@
break;
case 269:
-#line 3336 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3349 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.TermInstVal).TI = new UnreachableInst();
(yyval.TermInstVal).S.makeSignless();
@@ -5922,7 +5935,7 @@
break;
case 270:
-#line 3343 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3356 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.JumpTable) = (yyvsp[-5].JumpTable);
(yyvsp[-3].ValIDVal).S.copy((yyvsp[-4].PrimType).S);
@@ -5938,7 +5951,7 @@
break;
case 271:
-#line 3355 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3368 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.JumpTable) = new std::vector<std::pair<Constant*, BasicBlock*> >();
(yyvsp[-3].ValIDVal).S.copy((yyvsp[-4].PrimType).S);
@@ -5954,7 +5967,7 @@
break;
case 272:
-#line 3370 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3383 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
bool omit = false;
if ((yyvsp[-1].StrVal))
@@ -5987,7 +6000,7 @@
break;
case 273:
-#line 3400 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3413 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Used for PHI nodes
(yyval.PHIList).P = new std::list<std::pair<Value*, BasicBlock*> >();
(yyval.PHIList).S.copy((yyvsp[-5].TypeVal).S);
@@ -6001,7 +6014,7 @@
break;
case 274:
-#line 3410 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3423 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.PHIList) = (yyvsp[-6].PHIList);
(yyvsp[-3].ValIDVal).S.copy((yyvsp[-6].PHIList).S);
@@ -6013,7 +6026,7 @@
break;
case 275:
-#line 3420 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3433 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ // Used for call statements, and memory insts...
(yyval.ValueList) = new std::vector<ValueInfo>();
(yyval.ValueList)->push_back((yyvsp[0].ValueVal));
@@ -6021,7 +6034,7 @@
break;
case 276:
-#line 3424 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3437 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.ValueList) = (yyvsp[-2].ValueList);
(yyvsp[-2].ValueList)->push_back((yyvsp[0].ValueVal));
@@ -6029,26 +6042,26 @@
break;
case 278:
-#line 3432 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3445 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValueList) = 0; ;}
break;
case 279:
-#line 3436 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3449 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.BoolVal) = true;
;}
break;
case 280:
-#line 3439 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3452 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.BoolVal) = false;
;}
break;
case 281:
-#line 3445 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3458 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-2].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
(yyvsp[0].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
@@ -6071,7 +6084,7 @@
break;
case 282:
-#line 3464 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3477 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-2].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
(yyvsp[0].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
@@ -6093,7 +6106,7 @@
break;
case 283:
-#line 3482 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3495 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-2].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
(yyvsp[0].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
@@ -6113,7 +6126,7 @@
break;
case 284:
-#line 3498 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3511 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-2].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
(yyvsp[0].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
@@ -6131,7 +6144,7 @@
break;
case 285:
-#line 3512 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3525 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-2].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
(yyvsp[0].ValIDVal).S.copy((yyvsp[-3].TypeVal).S);
@@ -6149,7 +6162,7 @@
break;
case 286:
-#line 3526 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3539 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
warning("Use of obsolete 'not' instruction: Replacing with 'xor");
const Type *Ty = (yyvsp[0].ValueVal).V->getType();
@@ -6164,7 +6177,7 @@
break;
case 287:
-#line 3537 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3550 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!(yyvsp[0].ValueVal).V->getType()->isInteger() ||
cast<IntegerType>((yyvsp[0].ValueVal).V->getType())->getBitWidth() != 8)
@@ -6186,7 +6199,7 @@
break;
case 288:
-#line 3555 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3568 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *DstTy = (yyvsp[0].TypeVal).PAT->get();
if (!DstTy->isFirstClassType())
@@ -6199,7 +6212,7 @@
break;
case 289:
-#line 3564 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3577 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!(yyvsp[-4].ValueVal).V->getType()->isInteger() ||
cast<IntegerType>((yyvsp[-4].ValueVal).V->getType())->getBitWidth() != 1)
@@ -6212,7 +6225,7 @@
break;
case 290:
-#line 3573 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3586 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[0].TypeVal).PAT->get();
NewVarArgs = true;
@@ -6223,7 +6236,7 @@
break;
case 291:
-#line 3580 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3593 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type* ArgTy = (yyvsp[-2].ValueVal).V->getType();
const Type* DstTy = (yyvsp[0].TypeVal).PAT->get();
@@ -6248,7 +6261,7 @@
break;
case 292:
-#line 3601 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3614 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type* ArgTy = (yyvsp[-2].ValueVal).V->getType();
const Type* DstTy = (yyvsp[0].TypeVal).PAT->get();
@@ -6276,7 +6289,7 @@
break;
case 293:
-#line 3625 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3638 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!ExtractElementInst::isValidOperands((yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V))
error("Invalid extractelement operands");
@@ -6286,7 +6299,7 @@
break;
case 294:
-#line 3631 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3644 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!InsertElementInst::isValidOperands((yyvsp[-4].ValueVal).V, (yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V))
error("Invalid insertelement operands");
@@ -6296,7 +6309,7 @@
break;
case 295:
-#line 3637 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3650 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if (!ShuffleVectorInst::isValidOperands((yyvsp[-4].ValueVal).V, (yyvsp[-2].ValueVal).V, (yyvsp[0].ValueVal).V))
error("Invalid shufflevector operands");
@@ -6306,7 +6319,7 @@
break;
case 296:
-#line 3643 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3656 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[0].PHIList).P->front().first->getType();
if (!Ty->isFirstClassType())
@@ -6326,7 +6339,7 @@
break;
case 297:
-#line 3659 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3672 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
// Handle the short call syntax
const PointerType *PFTy;
@@ -6345,11 +6358,6 @@
}
}
- FunctionType::ParamAttrsList ParamAttrs;
- if ((yyvsp[-5].UIntVal) == OldCallingConv::CSRet) {
- ParamAttrs.push_back(FunctionType::NoAttributeSet);
- ParamAttrs.push_back(FunctionType::StructRetAttribute);
- }
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
if (isVarArg) ParamTypes.pop_back();
@@ -6357,6 +6365,14 @@
if (!RetTy->isFirstClassType() && RetTy != Type::VoidTy)
error("Functions cannot return aggregate types");
+ // Deal with CSRetCC
+ ParamAttrsList *ParamAttrs = 0;
+ if ((yyvsp[-5].UIntVal) == OldCallingConv::CSRet) {
+ ParamAttrs = new ParamAttrsList();
+ ParamAttrs->addAttributes(0, NoAttributeSet); // function result
+ ParamAttrs->addAttributes(1, StructRetAttribute); // first parameter
+ }
+
FTy = FunctionType::get(RetTy, ParamTypes, isVarArg, ParamAttrs);
PFTy = PointerType::get(FTy);
(yyval.InstVal).S.copy((yyvsp[-4].TypeVal).S);
@@ -6417,34 +6433,34 @@
break;
case 298:
-#line 3746 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3762 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyval.InstVal) = (yyvsp[0].InstVal);
;}
break;
case 299:
-#line 3754 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3770 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValueList) = (yyvsp[0].ValueList); ;}
break;
case 300:
-#line 3755 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3771 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.ValueList) = new std::vector<ValueInfo>(); ;}
break;
case 301:
-#line 3759 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3775 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.BoolVal) = true; ;}
break;
case 302:
-#line 3760 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3776 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{ (yyval.BoolVal) = false; ;}
break;
case 303:
-#line 3764 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3780 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-1].TypeVal).PAT->get();
(yyval.InstVal).S.makeComposite((yyvsp[-1].TypeVal).S);
@@ -6454,7 +6470,7 @@
break;
case 304:
-#line 3770 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3786 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-4].TypeVal).PAT->get();
(yyvsp[-1].ValIDVal).S.makeUnsigned();
@@ -6465,7 +6481,7 @@
break;
case 305:
-#line 3777 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3793 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-1].TypeVal).PAT->get();
(yyval.InstVal).S.makeComposite((yyvsp[-1].TypeVal).S);
@@ -6475,7 +6491,7 @@
break;
case 306:
-#line 3783 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3799 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *Ty = (yyvsp[-4].TypeVal).PAT->get();
(yyvsp[-1].ValIDVal).S.makeUnsigned();
@@ -6486,7 +6502,7 @@
break;
case 307:
-#line 3790 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3806 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type *PTy = (yyvsp[0].ValueVal).V->getType();
if (!isa<PointerType>(PTy))
@@ -6497,7 +6513,7 @@
break;
case 308:
-#line 3797 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3813 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
const Type* Ty = (yyvsp[-1].TypeVal).PAT->get();
(yyvsp[0].ValIDVal).S.copy((yyvsp[-1].TypeVal).S);
@@ -6514,7 +6530,7 @@
break;
case 309:
-#line 3810 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3826 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[0].ValIDVal).S.copy((yyvsp[-1].TypeVal).S);
const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get());
@@ -6544,7 +6560,7 @@
break;
case 310:
-#line 3836 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3852 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
(yyvsp[-1].ValIDVal).S.copy((yyvsp[-2].TypeVal).S);
const Type* Ty = (yyvsp[-2].TypeVal).PAT->get();
@@ -6568,7 +6584,7 @@
}
/* Line 1126 of yacc.c. */
-#line 6572 "UpgradeParser.tab.c"
+#line 6588 "UpgradeParser.tab.c"
yyvsp -= yylen;
yyssp -= yylen;
@@ -6836,7 +6852,7 @@
}
-#line 3854 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 3870 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
int yyerror(const char *ErrorMsg) {
diff --git a/tools/llvm-upgrade/UpgradeParser.h.cvs b/tools/llvm-upgrade/UpgradeParser.h.cvs
index 9058790..279a087 100644
--- a/tools/llvm-upgrade/UpgradeParser.h.cvs
+++ b/tools/llvm-upgrade/UpgradeParser.h.cvs
@@ -335,7 +335,7 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 1731 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
+#line 1741 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
typedef union YYSTYPE {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
diff --git a/tools/llvm-upgrade/UpgradeParser.y.cvs b/tools/llvm-upgrade/UpgradeParser.y.cvs
index c344a5a..dfc86c6 100644
--- a/tools/llvm-upgrade/UpgradeParser.y.cvs
+++ b/tools/llvm-upgrade/UpgradeParser.y.cvs
@@ -17,6 +17,7 @@
#include "llvm/InlineAsm.h"
#include "llvm/Instructions.h"
#include "llvm/Module.h"
+#include "llvm/ParameterAttributes.h"
#include "llvm/ValueSymbolTable.h"
#include "llvm/Support/GetElementPtrTypeIterator.h"
#include "llvm/ADT/STLExtras.h"
@@ -377,14 +378,21 @@
static bool FuncTysDifferOnlyBySRet(const FunctionType *F1,
const FunctionType *F2) {
if (F1->getReturnType() != F2->getReturnType() ||
- F1->getNumParams() != F2->getNumParams() ||
- F1->getParamAttrs(0) != F2->getParamAttrs(0))
+ F1->getNumParams() != F2->getNumParams())
return false;
- unsigned SRetMask = ~unsigned(FunctionType::StructRetAttribute);
+ ParamAttrsList PAL1;
+ if (F1->getParamAttrs())
+ PAL1 = *F1->getParamAttrs();
+ ParamAttrsList PAL2;
+ if (F2->getParamAttrs())
+ PAL2 = *F2->getParamAttrs();
+ if (PAL1.getParamAttrs(0) != PAL2.getParamAttrs(0))
+ return false;
+ unsigned SRetMask = ~unsigned(StructRetAttribute);
for (unsigned i = 0; i < F1->getNumParams(); ++i) {
if (F1->getParamType(i) != F2->getParamType(i) ||
- unsigned(F1->getParamAttrs(i+1)) & SRetMask !=
- unsigned(F2->getParamAttrs(i+1)) & SRetMask)
+ unsigned(PAL1.getParamAttrs(i+1)) & SRetMask !=
+ unsigned(PAL2.getParamAttrs(i+1)) & SRetMask)
return false;
}
return true;
@@ -423,13 +431,15 @@
if (PF1 && PF2) {
const FunctionType *FT1 = dyn_cast<FunctionType>(PF1->getElementType());
const FunctionType *FT2 = dyn_cast<FunctionType>(PF2->getElementType());
- if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2))
- if (FT2->paramHasAttr(1, FunctionType::StructRetAttribute))
+ if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2)) {
+ const ParamAttrsList *PAL2 = FT2->getParamAttrs();
+ if (PAL2 && PAL2->paramHasAttr(1, StructRetAttribute))
return V;
else if (Constant *C = dyn_cast<Constant>(V))
return ConstantExpr::getBitCast(C, PF1);
else
return new BitCastInst(V, PF1, "upgrd.cast", CurBB);
+ }
}
return 0;
@@ -2103,13 +2113,13 @@
Params.push_back(I->PAT->get());
$$.S.add(I->S);
}
- FunctionType::ParamAttrsList ParamAttrs;
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
if (isVarArg) Params.pop_back();
- $$.PAT = new PATypeHolder(
- HandleUpRefs(FunctionType::get($1.PAT->get(), Params, isVarArg,
- ParamAttrs), $$.S));
+ const FunctionType *FTy =
+ FunctionType::get($1.PAT->get(), Params, isVarArg, 0);
+
+ $$.PAT = new PATypeHolder( HandleUpRefs(FTy, $$.S) );
delete $1.PAT; // Delete the return type handle
delete $3; // Delete the argument list
}
@@ -2891,14 +2901,15 @@
// Convert the CSRet calling convention into the corresponding parameter
// attribute.
- FunctionType::ParamAttrsList ParamAttrs;
+ ParamAttrsList *ParamAttrs = 0;
if ($1 == OldCallingConv::CSRet) {
- ParamAttrs.push_back(FunctionType::NoAttributeSet); // result
- ParamAttrs.push_back(FunctionType::StructRetAttribute); // first arg
+ ParamAttrs = new ParamAttrsList();
+ ParamAttrs->addAttributes(0, NoAttributeSet); // result
+ ParamAttrs->addAttributes(1, StructRetAttribute); // first arg
}
- const FunctionType *FT = FunctionType::get(RetTy, ParamTyList, isVarArg,
- ParamAttrs);
+ const FunctionType *FT =
+ FunctionType::get(RetTy, ParamTyList, isVarArg, ParamAttrs);
const PointerType *PFT = PointerType::get(FT);
delete $2.PAT;
@@ -3279,10 +3290,11 @@
FTySign.add(I->S);
}
}
- FunctionType::ParamAttrsList ParamAttrs;
+ ParamAttrsList *ParamAttrs = 0;
if ($2 == OldCallingConv::CSRet) {
- ParamAttrs.push_back(FunctionType::NoAttributeSet);
- ParamAttrs.push_back(FunctionType::StructRetAttribute);
+ ParamAttrs = new ParamAttrsList();
+ ParamAttrs->addAttributes(0, NoAttributeSet); // Function result
+ ParamAttrs->addAttributes(1, StructRetAttribute); // first param
}
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
if (isVarArg) ParamTypes.pop_back();
@@ -3296,6 +3308,7 @@
// and then the 0th element again to get the result type.
$$.S.copy($3.S.get(0).get(0));
}
+
$4.S.makeComposite(FTySign);
Value *V = getVal(PFTy, $4); // Get the function we're calling...
BasicBlock *Normal = getBBVal($10);
@@ -3656,7 +3669,7 @@
$$.S.copy($2.S);
delete $2.P; // Free the list...
}
- | OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')' {
+ | OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')' {
// Handle the short call syntax
const PointerType *PFTy;
const FunctionType *FTy;
@@ -3674,11 +3687,6 @@
}
}
- FunctionType::ParamAttrsList ParamAttrs;
- if ($2 == OldCallingConv::CSRet) {
- ParamAttrs.push_back(FunctionType::NoAttributeSet);
- ParamAttrs.push_back(FunctionType::StructRetAttribute);
- }
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
if (isVarArg) ParamTypes.pop_back();
@@ -3686,6 +3694,14 @@
if (!RetTy->isFirstClassType() && RetTy != Type::VoidTy)
error("Functions cannot return aggregate types");
+ // Deal with CSRetCC
+ ParamAttrsList *ParamAttrs = 0;
+ if ($2 == OldCallingConv::CSRet) {
+ ParamAttrs = new ParamAttrsList();
+ ParamAttrs->addAttributes(0, NoAttributeSet); // function result
+ ParamAttrs->addAttributes(1, StructRetAttribute); // first parameter
+ }
+
FTy = FunctionType::get(RetTy, ParamTypes, isVarArg, ParamAttrs);
PFTy = PointerType::get(FTy);
$$.S.copy($3.S);