mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-19 13:38:56 +00:00
Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35813 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
460dd9b644
commit
7b5d466c88
@ -869,7 +869,7 @@ goto find_rule; \
|
|||||||
#define YY_MORE_ADJ 0
|
#define YY_MORE_ADJ 0
|
||||||
#define YY_RESTORE_YY_MORE_OFFSET
|
#define YY_RESTORE_YY_MORE_OFFSET
|
||||||
char *yytext;
|
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
|
#define INITIAL 0
|
||||||
/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
|
/*===-- Lexer.l - Scanner for llvm assembly files --------------*- C++ -*--===//
|
||||||
//
|
//
|
||||||
@ -884,7 +884,7 @@ char *yytext;
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===*/
|
//===----------------------------------------------------------------------===*/
|
||||||
#define YY_NEVER_INTERACTIVE 1
|
#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 "ParserInternals.h"
|
||||||
#include "llvm/Module.h"
|
#include "llvm/Module.h"
|
||||||
#include <list>
|
#include <list>
|
||||||
@ -1168,7 +1168,7 @@ YY_DECL
|
|||||||
register char *yy_cp = NULL, *yy_bp = NULL;
|
register char *yy_cp = NULL, *yy_bp = NULL;
|
||||||
register int yy_act;
|
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"
|
#line 1175 "Lexer.cpp"
|
||||||
@ -1264,257 +1264,257 @@ do_action: /* This label is used only to access EOF actions. */
|
|||||||
{ /* beginning of action switch */
|
{ /* beginning of action switch */
|
||||||
case 1:
|
case 1:
|
||||||
YY_RULE_SETUP
|
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 */ }
|
{ /* Ignore comments for now */ }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 2:
|
case 2:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return BEGINTOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 3:
|
case 3:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ENDTOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 4:
|
case 4:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return TRUETOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 5:
|
case 5:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return FALSETOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 6:
|
case 6:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DECLARE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 7:
|
case 7:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DEFINE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 8:
|
case 8:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return GLOBAL; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 9:
|
case 9:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return CONSTANT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 10:
|
case 10:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return INTERNAL; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 11:
|
case 11:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return LINKONCE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 12:
|
case 12:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return WEAK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 13:
|
case 13:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return APPENDING; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 14:
|
case 14:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DLLIMPORT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 15:
|
case 15:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DLLEXPORT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 16:
|
case 16:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return HIDDEN; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 17:
|
case 17:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return EXTERN_WEAK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 18:
|
case 18:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return EXTERNAL; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 19:
|
case 19:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ZEROINITIALIZER; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 20:
|
case 20:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DOTDOTDOT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 21:
|
case 21:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return UNDEF; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 22:
|
case 22:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return NULL_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 23:
|
case 23:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return TO; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 24:
|
case 24:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return TAIL; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 25:
|
case 25:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return TARGET; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 26:
|
case 26:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return TRIPLE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 27:
|
case 27:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DEPLIBS; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 28:
|
case 28:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return DATALAYOUT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 29:
|
case 29:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return VOLATILE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 30:
|
case 30:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ALIGN; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 31:
|
case 31:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SECTION; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 32:
|
case 32:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return MODULE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 33:
|
case 33:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ASM_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 34:
|
case 34:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SIDEEFFECT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 35:
|
case 35:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return CC_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 36:
|
case 36:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return CCC_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 37:
|
case 37:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return FASTCC_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 38:
|
case 38:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return COLDCC_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 39:
|
case 39:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return X86_STDCALLCC_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 40:
|
case 40:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return X86_FASTCALLCC_TOK; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 41:
|
case 41:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return INREG; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 42:
|
case 42:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SRET; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 43:
|
case 43:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return NOUNWIND; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 44:
|
case 44:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return NORETURN; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 45:
|
case 45:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TY(Type::VoidTy, VOID); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 46:
|
case 46:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TY(Type::FloatTy, FLOAT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 47:
|
case 47:
|
||||||
YY_RULE_SETUP
|
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);}
|
{ RET_TY(Type::DoubleTy,DOUBLE);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 48:
|
case 48:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TY(Type::LabelTy, LABEL); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 49:
|
case 49:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return TYPE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 50:
|
case 50:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return OPAQUE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 51:
|
case 51:
|
||||||
YY_RULE_SETUP
|
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);
|
{ uint64_t NumBits = atoull(yytext+1);
|
||||||
if (NumBits < IntegerType::MIN_INT_BITS ||
|
if (NumBits < IntegerType::MIN_INT_BITS ||
|
||||||
NumBits > IntegerType::MAX_INT_BITS)
|
NumBits > IntegerType::MAX_INT_BITS)
|
||||||
@ -1525,347 +1525,347 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 52:
|
case 52:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, Add, ADD); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 53:
|
case 53:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, Sub, SUB); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 54:
|
case 54:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, Mul, MUL); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 55:
|
case 55:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, UDiv, UDIV); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 56:
|
case 56:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, SDiv, SDIV); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 57:
|
case 57:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, FDiv, FDIV); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 58:
|
case 58:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, URem, UREM); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 59:
|
case 59:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, SRem, SREM); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 60:
|
case 60:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, FRem, FREM); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 61:
|
case 61:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, Shl, SHL); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 62:
|
case 62:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, LShr, LSHR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 63:
|
case 63:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, AShr, ASHR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 64:
|
case 64:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, And, AND); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 65:
|
case 65:
|
||||||
YY_RULE_SETUP
|
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 ); }
|
{ RET_TOK(BinaryOpVal, Or , OR ); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 66:
|
case 66:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(BinaryOpVal, Xor, XOR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 67:
|
case 67:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, ICmp, ICMP); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 68:
|
case 68:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, FCmp, FCMP); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 69:
|
case 69:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return EQ; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 70:
|
case 70:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return NE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 71:
|
case 71:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SLT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 72:
|
case 72:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SGT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 73:
|
case 73:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SLE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 74:
|
case 74:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return SGE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 75:
|
case 75:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ULT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 76:
|
case 76:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return UGT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 77:
|
case 77:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ULE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 78:
|
case 78:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return UGE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 79:
|
case 79:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return OEQ; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 80:
|
case 80:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ONE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 81:
|
case 81:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return OLT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 82:
|
case 82:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return OGT; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 83:
|
case 83:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return OLE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 84:
|
case 84:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return OGE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 85:
|
case 85:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return ORD; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 86:
|
case 86:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return UNO; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 87:
|
case 87:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return UEQ; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 88:
|
case 88:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ return UNE; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 89:
|
case 89:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, PHI, PHI_TOK); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 90:
|
case 90:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, Call, CALL); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 91:
|
case 91:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, Trunc, TRUNC); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 92:
|
case 92:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, ZExt, ZEXT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 93:
|
case 93:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, SExt, SEXT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 94:
|
case 94:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, FPTrunc, FPTRUNC); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 95:
|
case 95:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, FPExt, FPEXT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 96:
|
case 96:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, UIToFP, UITOFP); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 97:
|
case 97:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, SIToFP, SITOFP); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 98:
|
case 98:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, FPToUI, FPTOUI); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 99:
|
case 99:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, FPToSI, FPTOSI); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 100:
|
case 100:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, IntToPtr, INTTOPTR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 101:
|
case 101:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, PtrToInt, PTRTOINT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 102:
|
case 102:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(CastOpVal, BitCast, BITCAST); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 103:
|
case 103:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, Select, SELECT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 104:
|
case 104:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, VAArg , VAARG); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 105:
|
case 105:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(TermOpVal, Ret, RET); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 106:
|
case 106:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(TermOpVal, Br, BR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 107:
|
case 107:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(TermOpVal, Switch, SWITCH); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 108:
|
case 108:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(TermOpVal, Invoke, INVOKE); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 109:
|
case 109:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(TermOpVal, Unwind, UNWIND); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 110:
|
case 110:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(TermOpVal, Unreachable, UNREACHABLE); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 111:
|
case 111:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(MemOpVal, Malloc, MALLOC); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 112:
|
case 112:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(MemOpVal, Alloca, ALLOCA); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 113:
|
case 113:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(MemOpVal, Free, FREE); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 114:
|
case 114:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(MemOpVal, Load, LOAD); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 115:
|
case 115:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(MemOpVal, Store, STORE); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 116:
|
case 116:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(MemOpVal, GetElementPtr, GETELEMENTPTR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 117:
|
case 117:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, ExtractElement, EXTRACTELEMENT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 118:
|
case 118:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, InsertElement, INSERTELEMENT); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 119:
|
case 119:
|
||||||
YY_RULE_SETUP
|
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); }
|
{ RET_TOK(OtherOpVal, ShuffleVector, SHUFFLEVECTOR); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 120:
|
case 120:
|
||||||
YY_RULE_SETUP
|
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);
|
UnEscapeLexed(yytext+1);
|
||||||
llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
|
llvmAsmlval.StrVal = strdup(yytext+1); // Skip %
|
||||||
@ -1874,7 +1874,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 121:
|
case 121:
|
||||||
YY_RULE_SETUP
|
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);
|
UnEscapeLexed(yytext+1);
|
||||||
llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
|
llvmAsmlval.StrVal = strdup(yytext+1); // Skip @
|
||||||
@ -1883,7 +1883,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 122:
|
case 122:
|
||||||
YY_RULE_SETUP
|
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
|
yytext[strlen(yytext)-1] = 0; // nuke colon
|
||||||
UnEscapeLexed(yytext);
|
UnEscapeLexed(yytext);
|
||||||
@ -1893,7 +1893,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 123:
|
case 123:
|
||||||
YY_RULE_SETUP
|
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
|
yytext[strlen(yytext)-2] = 0; // nuke colon, end quote
|
||||||
UnEscapeLexed(yytext+1);
|
UnEscapeLexed(yytext+1);
|
||||||
@ -1903,7 +1903,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 124:
|
case 124:
|
||||||
YY_RULE_SETUP
|
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
|
{ // Note that we cannot unescape a string constant here! The
|
||||||
// string constant might contain a \00 which would not be
|
// string constant might contain a \00 which would not be
|
||||||
// understood by the string stuff. It is valid to make a
|
// understood by the string stuff. It is valid to make a
|
||||||
@ -1916,7 +1916,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 125:
|
case 125:
|
||||||
YY_RULE_SETUP
|
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
|
yytext[strlen(yytext)-1] = 0; // nuke end quote
|
||||||
llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
|
llvmAsmlval.StrVal = strdup(yytext+2); // Nuke @, quote
|
||||||
@ -1925,7 +1925,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 126:
|
case 126:
|
||||||
YY_RULE_SETUP
|
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);
|
{ int len = strlen(yytext);
|
||||||
uint32_t numBits = ((len * 64) / 19) + 1;
|
uint32_t numBits = ((len * 64) / 19) + 1;
|
||||||
APInt Tmp(numBits, yytext, len, 10);
|
APInt Tmp(numBits, yytext, len, 10);
|
||||||
@ -1943,7 +1943,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 127:
|
case 127:
|
||||||
YY_RULE_SETUP
|
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);
|
{ int len = strlen(yytext);
|
||||||
uint32_t numBits = (((len-1) * 64) / 19) + 2;
|
uint32_t numBits = (((len-1) * 64) / 19) + 2;
|
||||||
APInt Tmp(numBits, yytext, len, 10);
|
APInt Tmp(numBits, yytext, len, 10);
|
||||||
@ -1961,7 +1961,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 128:
|
case 128:
|
||||||
YY_RULE_SETUP
|
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;
|
{ int len = strlen(yytext+3) - 3;
|
||||||
uint32_t bits = len * 4;
|
uint32_t bits = len * 4;
|
||||||
APInt Tmp(bits, yytext+3, len, 16);
|
APInt Tmp(bits, yytext+3, len, 16);
|
||||||
@ -1982,7 +1982,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 129:
|
case 129:
|
||||||
YY_RULE_SETUP
|
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);
|
uint64_t Val = atoull(yytext+1);
|
||||||
if ((unsigned)Val != Val)
|
if ((unsigned)Val != Val)
|
||||||
@ -1993,7 +1993,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 130:
|
case 130:
|
||||||
YY_RULE_SETUP
|
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);
|
uint64_t Val = atoull(yytext+1);
|
||||||
if ((unsigned)Val != Val)
|
if ((unsigned)Val != Val)
|
||||||
@ -2004,16 +2004,16 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 131:
|
case 131:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ llvmAsmlval.FPVal = atof(yytext); return FPVAL; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 132:
|
case 132:
|
||||||
YY_RULE_SETUP
|
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; }
|
{ llvmAsmlval.FPVal = HexToFP(yytext); return FPVAL; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(INITIAL):
|
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
|
/* Make sure to free the internal buffers for flex when we are
|
||||||
* done reading our input!
|
* done reading our input!
|
||||||
@ -2024,17 +2024,17 @@ case YY_STATE_EOF(INITIAL):
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 133:
|
case 133:
|
||||||
YY_RULE_SETUP
|
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 */ }
|
{ /* Ignore whitespace */ }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 134:
|
case 134:
|
||||||
YY_RULE_SETUP
|
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]; }
|
{ return yytext[0]; }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 135:
|
case 135:
|
||||||
YY_RULE_SETUP
|
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_FATAL_ERROR( "flex scanner jammed" );
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
#line 2041 "Lexer.cpp"
|
#line 2041 "Lexer.cpp"
|
||||||
@ -2915,5 +2915,5 @@ int main()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#line 442 "/proj/llvm/llvm-4/lib/AsmParser/Lexer.l"
|
#line 442 "/proj/llvm/llvm-1/lib/AsmParser/Lexer.l"
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -299,7 +299,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
#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 {
|
typedef union YYSTYPE {
|
||||||
llvm::Module *ModuleVal;
|
llvm::Module *ModuleVal;
|
||||||
llvm::Function *FunctionVal;
|
llvm::Function *FunctionVal;
|
||||||
@ -326,7 +326,7 @@ typedef union YYSTYPE {
|
|||||||
|
|
||||||
llvm::GlobalValue::LinkageTypes Linkage;
|
llvm::GlobalValue::LinkageTypes Linkage;
|
||||||
llvm::GlobalValue::VisibilityTypes Visibility;
|
llvm::GlobalValue::VisibilityTypes Visibility;
|
||||||
llvm::FunctionType::ParameterAttributes ParamAttrs;
|
uint16_t ParamAttrs;
|
||||||
llvm::APInt *APIntVal;
|
llvm::APInt *APIntVal;
|
||||||
int64_t SInt64Val;
|
int64_t SInt64Val;
|
||||||
uint64_t UInt64Val;
|
uint64_t UInt64Val;
|
||||||
|
@ -200,8 +200,6 @@ static struct PerModuleInfo {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
} CurModule;
|
} CurModule;
|
||||||
|
|
||||||
static struct PerFunctionInfo {
|
static struct PerFunctionInfo {
|
||||||
@ -962,7 +960,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {
|
|||||||
|
|
||||||
llvm::GlobalValue::LinkageTypes Linkage;
|
llvm::GlobalValue::LinkageTypes Linkage;
|
||||||
llvm::GlobalValue::VisibilityTypes Visibility;
|
llvm::GlobalValue::VisibilityTypes Visibility;
|
||||||
llvm::FunctionType::ParameterAttributes ParamAttrs;
|
uint16_t ParamAttrs;
|
||||||
llvm::APInt *APIntVal;
|
llvm::APInt *APIntVal;
|
||||||
int64_t SInt64Val;
|
int64_t SInt64Val;
|
||||||
uint64_t UInt64Val;
|
uint64_t UInt64Val;
|
||||||
@ -1191,26 +1189,26 @@ OptCallingConv : /*empty*/ { $$ = CallingConv::C; } |
|
|||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
};
|
};
|
||||||
|
|
||||||
ParamAttr : ZEXT { $$ = FunctionType::ZExtAttribute; }
|
ParamAttr : ZEXT { $$ = ZExtAttribute; }
|
||||||
| SEXT { $$ = FunctionType::SExtAttribute; }
|
| SEXT { $$ = SExtAttribute; }
|
||||||
| INREG { $$ = FunctionType::InRegAttribute; }
|
| INREG { $$ = InRegAttribute; }
|
||||||
| SRET { $$ = FunctionType::StructRetAttribute; }
|
| SRET { $$ = StructRetAttribute; }
|
||||||
;
|
;
|
||||||
|
|
||||||
OptParamAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; }
|
OptParamAttrs : /* empty */ { $$ = NoAttributeSet; }
|
||||||
| OptParamAttrs ParamAttr {
|
| OptParamAttrs ParamAttr {
|
||||||
$$ = FunctionType::ParameterAttributes($1 | $2);
|
$$ = $1 | $2;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
FuncAttr : NORETURN { $$ = FunctionType::NoReturnAttribute; }
|
FuncAttr : NORETURN { $$ = NoReturnAttribute; }
|
||||||
| NOUNWIND { $$ = FunctionType::NoUnwindAttribute; }
|
| NOUNWIND { $$ = NoUnwindAttribute; }
|
||||||
| ParamAttr
|
| ParamAttr
|
||||||
;
|
;
|
||||||
|
|
||||||
OptFuncAttrs : /* empty */ { $$ = FunctionType::NoAttributeSet; }
|
OptFuncAttrs : /* empty */ { $$ = NoAttributeSet; }
|
||||||
| OptFuncAttrs FuncAttr {
|
| OptFuncAttrs FuncAttr {
|
||||||
$$ = FunctionType::ParameterAttributes($1 | $2);
|
$$ = $1 | $2;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -1299,18 +1297,25 @@ Types
|
|||||||
}
|
}
|
||||||
| Types '(' ArgTypeListI ')' OptFuncAttrs {
|
| Types '(' ArgTypeListI ')' OptFuncAttrs {
|
||||||
std::vector<const Type*> Params;
|
std::vector<const Type*> Params;
|
||||||
std::vector<FunctionType::ParameterAttributes> Attrs;
|
ParamAttrsList Attrs;
|
||||||
Attrs.push_back($5);
|
if ($5 != NoAttributeSet)
|
||||||
for (TypeWithAttrsList::iterator I=$3->begin(), E=$3->end(); I != E; ++I) {
|
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();
|
const Type *Ty = I->Ty->get();
|
||||||
Params.push_back(Ty);
|
Params.push_back(Ty);
|
||||||
if (Ty != Type::VoidTy)
|
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;
|
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
|
||||||
if (isVarArg) Params.pop_back();
|
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 $3; // Delete the argument list
|
||||||
delete $1; // Delete the return type handle
|
delete $1; // Delete the return type handle
|
||||||
$$ = new PATypeHolder(HandleUpRefs(FT));
|
$$ = new PATypeHolder(HandleUpRefs(FT));
|
||||||
@ -1318,18 +1323,26 @@ Types
|
|||||||
}
|
}
|
||||||
| VOID '(' ArgTypeListI ')' OptFuncAttrs {
|
| VOID '(' ArgTypeListI ')' OptFuncAttrs {
|
||||||
std::vector<const Type*> Params;
|
std::vector<const Type*> Params;
|
||||||
std::vector<FunctionType::ParameterAttributes> Attrs;
|
ParamAttrsList Attrs;
|
||||||
Attrs.push_back($5);
|
if ($5 != NoAttributeSet)
|
||||||
for (TypeWithAttrsList::iterator I=$3->begin(), E=$3->end(); I != E; ++I) {
|
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();
|
const Type* Ty = I->Ty->get();
|
||||||
Params.push_back(Ty);
|
Params.push_back(Ty);
|
||||||
if (Ty != Type::VoidTy)
|
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;
|
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
|
||||||
if (isVarArg) Params.pop_back();
|
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 $3; // Delete the argument list
|
||||||
$$ = new PATypeHolder(HandleUpRefs(FT));
|
$$ = new PATypeHolder(HandleUpRefs(FT));
|
||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
@ -1417,14 +1430,14 @@ ArgTypeListI
|
|||||||
: ArgTypeList
|
: ArgTypeList
|
||||||
| ArgTypeList ',' DOTDOTDOT {
|
| ArgTypeList ',' DOTDOTDOT {
|
||||||
$$=$1;
|
$$=$1;
|
||||||
TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
|
TypeWithAttrs TWA; TWA.Attrs = NoAttributeSet;
|
||||||
TWA.Ty = new PATypeHolder(Type::VoidTy);
|
TWA.Ty = new PATypeHolder(Type::VoidTy);
|
||||||
$$->push_back(TWA);
|
$$->push_back(TWA);
|
||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
}
|
}
|
||||||
| DOTDOTDOT {
|
| DOTDOTDOT {
|
||||||
$$ = new TypeWithAttrsList;
|
$$ = new TypeWithAttrsList;
|
||||||
TypeWithAttrs TWA; TWA.Attrs = FunctionType::NoAttributeSet;
|
TypeWithAttrs TWA; TWA.Attrs = NoAttributeSet;
|
||||||
TWA.Ty = new PATypeHolder(Type::VoidTy);
|
TWA.Ty = new PATypeHolder(Type::VoidTy);
|
||||||
$$->push_back(TWA);
|
$$->push_back(TWA);
|
||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
@ -2087,7 +2100,7 @@ ArgList : ArgListH {
|
|||||||
struct ArgListEntry E;
|
struct ArgListEntry E;
|
||||||
E.Ty = new PATypeHolder(Type::VoidTy);
|
E.Ty = new PATypeHolder(Type::VoidTy);
|
||||||
E.Name = 0;
|
E.Name = 0;
|
||||||
E.Attrs = FunctionType::NoAttributeSet;
|
E.Attrs = NoAttributeSet;
|
||||||
$$->push_back(E);
|
$$->push_back(E);
|
||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
}
|
}
|
||||||
@ -2096,7 +2109,7 @@ ArgList : ArgListH {
|
|||||||
struct ArgListEntry E;
|
struct ArgListEntry E;
|
||||||
E.Ty = new PATypeHolder(Type::VoidTy);
|
E.Ty = new PATypeHolder(Type::VoidTy);
|
||||||
E.Name = 0;
|
E.Name = 0;
|
||||||
E.Attrs = FunctionType::NoAttributeSet;
|
E.Attrs = NoAttributeSet;
|
||||||
$$->push_back(E);
|
$$->push_back(E);
|
||||||
CHECK_FOR_ERROR
|
CHECK_FOR_ERROR
|
||||||
}
|
}
|
||||||
@ -2117,24 +2130,31 @@ FunctionHeaderH : OptCallingConv ResultTypes GlobalName '(' ArgList ')'
|
|||||||
GEN_ERROR("Reference to abstract result: "+ $2->get()->getDescription());
|
GEN_ERROR("Reference to abstract result: "+ $2->get()->getDescription());
|
||||||
|
|
||||||
std::vector<const Type*> ParamTypeList;
|
std::vector<const Type*> ParamTypeList;
|
||||||
std::vector<FunctionType::ParameterAttributes> ParamAttrs;
|
ParamAttrsList ParamAttrs;
|
||||||
ParamAttrs.push_back($7);
|
if ($7 != NoAttributeSet)
|
||||||
|
ParamAttrs.addAttributes(0, $7);
|
||||||
if ($5) { // If there are arguments...
|
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();
|
const Type* Ty = I->Ty->get();
|
||||||
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
|
if (!CurFun.isDeclare && CurModule.TypeIsUnresolved(I->Ty))
|
||||||
GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
|
GEN_ERROR("Reference to abstract argument: " + Ty->getDescription());
|
||||||
ParamTypeList.push_back(Ty);
|
ParamTypeList.push_back(Ty);
|
||||||
if (Ty != Type::VoidTy)
|
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;
|
bool isVarArg = ParamTypeList.size() && ParamTypeList.back() == Type::VoidTy;
|
||||||
if (isVarArg) ParamTypeList.pop_back();
|
if (isVarArg) ParamTypeList.pop_back();
|
||||||
|
|
||||||
FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg,
|
ParamAttrsList *ActualAttrs = 0;
|
||||||
ParamAttrs);
|
if (!ParamAttrs.empty())
|
||||||
|
ActualAttrs = new ParamAttrsList(ParamAttrs);
|
||||||
|
|
||||||
|
FunctionType *FT = FunctionType::get(*$2, ParamTypeList, isVarArg,
|
||||||
|
ActualAttrs);
|
||||||
const PointerType *PFT = PointerType::get(FT);
|
const PointerType *PFT = PointerType::get(FT);
|
||||||
delete $2;
|
delete $2;
|
||||||
|
|
||||||
@ -2465,17 +2485,24 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
|
|||||||
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
|
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
|
||||||
// Pull out the types of all of the arguments...
|
// Pull out the types of all of the arguments...
|
||||||
std::vector<const Type*> ParamTypes;
|
std::vector<const Type*> ParamTypes;
|
||||||
FunctionType::ParamAttrsList ParamAttrs;
|
ParamAttrsList ParamAttrs;
|
||||||
ParamAttrs.push_back($8);
|
if ($8 != NoAttributeSet)
|
||||||
for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) {
|
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();
|
const Type *Ty = I->Val->getType();
|
||||||
if (Ty == Type::VoidTy)
|
if (Ty == Type::VoidTy)
|
||||||
GEN_ERROR("Short call syntax cannot be used with varargs");
|
GEN_ERROR("Short call syntax cannot be used with varargs");
|
||||||
ParamTypes.push_back(Ty);
|
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);
|
PFTy = PointerType::get(Ty);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2764,17 +2791,25 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
|
|||||||
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
|
!(Ty = dyn_cast<FunctionType>(PFTy->getElementType()))) {
|
||||||
// Pull out the types of all of the arguments...
|
// Pull out the types of all of the arguments...
|
||||||
std::vector<const Type*> ParamTypes;
|
std::vector<const Type*> ParamTypes;
|
||||||
FunctionType::ParamAttrsList ParamAttrs;
|
ParamAttrsList ParamAttrs;
|
||||||
ParamAttrs.push_back($8);
|
if ($8 != NoAttributeSet)
|
||||||
for (ValueRefList::iterator I = $6->begin(), E = $6->end(); I != E; ++I) {
|
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();
|
const Type *Ty = I->Val->getType();
|
||||||
if (Ty == Type::VoidTy)
|
if (Ty == Type::VoidTy)
|
||||||
GEN_ERROR("Short call syntax cannot be used with varargs");
|
GEN_ERROR("Short call syntax cannot be used with varargs");
|
||||||
ParamTypes.push_back(Ty);
|
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);
|
PFTy = PointerType::get(Ty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -335,7 +335,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
#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 {
|
typedef union YYSTYPE {
|
||||||
llvm::Module *ModuleVal;
|
llvm::Module *ModuleVal;
|
||||||
llvm::Function *FunctionVal;
|
llvm::Function *FunctionVal;
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#include "llvm/InlineAsm.h"
|
#include "llvm/InlineAsm.h"
|
||||||
#include "llvm/Instructions.h"
|
#include "llvm/Instructions.h"
|
||||||
#include "llvm/Module.h"
|
#include "llvm/Module.h"
|
||||||
|
#include "llvm/ParameterAttributes.h"
|
||||||
#include "llvm/ValueSymbolTable.h"
|
#include "llvm/ValueSymbolTable.h"
|
||||||
#include "llvm/Support/GetElementPtrTypeIterator.h"
|
#include "llvm/Support/GetElementPtrTypeIterator.h"
|
||||||
#include "llvm/ADT/STLExtras.h"
|
#include "llvm/ADT/STLExtras.h"
|
||||||
@ -377,14 +378,21 @@ static Signedness getElementSign(const ConstInfo& CI,
|
|||||||
static bool FuncTysDifferOnlyBySRet(const FunctionType *F1,
|
static bool FuncTysDifferOnlyBySRet(const FunctionType *F1,
|
||||||
const FunctionType *F2) {
|
const FunctionType *F2) {
|
||||||
if (F1->getReturnType() != F2->getReturnType() ||
|
if (F1->getReturnType() != F2->getReturnType() ||
|
||||||
F1->getNumParams() != F2->getNumParams() ||
|
F1->getNumParams() != F2->getNumParams())
|
||||||
F1->getParamAttrs(0) != F2->getParamAttrs(0))
|
|
||||||
return false;
|
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) {
|
for (unsigned i = 0; i < F1->getNumParams(); ++i) {
|
||||||
if (F1->getParamType(i) != F2->getParamType(i) ||
|
if (F1->getParamType(i) != F2->getParamType(i) ||
|
||||||
unsigned(F1->getParamAttrs(i+1)) & SRetMask !=
|
unsigned(PAL1.getParamAttrs(i+1)) & SRetMask !=
|
||||||
unsigned(F2->getParamAttrs(i+1)) & SRetMask)
|
unsigned(PAL2.getParamAttrs(i+1)) & SRetMask)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -423,13 +431,15 @@ static Value* handleSRetFuncTypeMerge(Value *V, const Type* Ty) {
|
|||||||
if (PF1 && PF2) {
|
if (PF1 && PF2) {
|
||||||
const FunctionType *FT1 = dyn_cast<FunctionType>(PF1->getElementType());
|
const FunctionType *FT1 = dyn_cast<FunctionType>(PF1->getElementType());
|
||||||
const FunctionType *FT2 = dyn_cast<FunctionType>(PF2->getElementType());
|
const FunctionType *FT2 = dyn_cast<FunctionType>(PF2->getElementType());
|
||||||
if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2))
|
if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2)) {
|
||||||
if (FT2->paramHasAttr(1, FunctionType::StructRetAttribute))
|
const ParamAttrsList *PAL2 = FT2->getParamAttrs();
|
||||||
|
if (PAL2 && PAL2->paramHasAttr(1, StructRetAttribute))
|
||||||
return V;
|
return V;
|
||||||
else if (Constant *C = dyn_cast<Constant>(V))
|
else if (Constant *C = dyn_cast<Constant>(V))
|
||||||
return ConstantExpr::getBitCast(C, PF1);
|
return ConstantExpr::getBitCast(C, PF1);
|
||||||
else
|
else
|
||||||
return new BitCastInst(V, PF1, "upgrd.cast", CurBB);
|
return new BitCastInst(V, PF1, "upgrd.cast", CurBB);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -2103,13 +2113,13 @@ UpRTypes
|
|||||||
Params.push_back(I->PAT->get());
|
Params.push_back(I->PAT->get());
|
||||||
$$.S.add(I->S);
|
$$.S.add(I->S);
|
||||||
}
|
}
|
||||||
FunctionType::ParamAttrsList ParamAttrs;
|
|
||||||
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
|
bool isVarArg = Params.size() && Params.back() == Type::VoidTy;
|
||||||
if (isVarArg) Params.pop_back();
|
if (isVarArg) Params.pop_back();
|
||||||
|
|
||||||
$$.PAT = new PATypeHolder(
|
const FunctionType *FTy =
|
||||||
HandleUpRefs(FunctionType::get($1.PAT->get(), Params, isVarArg,
|
FunctionType::get($1.PAT->get(), Params, isVarArg, 0);
|
||||||
ParamAttrs), $$.S));
|
|
||||||
|
$$.PAT = new PATypeHolder( HandleUpRefs(FTy, $$.S) );
|
||||||
delete $1.PAT; // Delete the return type handle
|
delete $1.PAT; // Delete the return type handle
|
||||||
delete $3; // Delete the argument list
|
delete $3; // Delete the argument list
|
||||||
}
|
}
|
||||||
@ -2891,14 +2901,15 @@ FunctionHeaderH
|
|||||||
|
|
||||||
// Convert the CSRet calling convention into the corresponding parameter
|
// Convert the CSRet calling convention into the corresponding parameter
|
||||||
// attribute.
|
// attribute.
|
||||||
FunctionType::ParamAttrsList ParamAttrs;
|
ParamAttrsList *ParamAttrs = 0;
|
||||||
if ($1 == OldCallingConv::CSRet) {
|
if ($1 == OldCallingConv::CSRet) {
|
||||||
ParamAttrs.push_back(FunctionType::NoAttributeSet); // result
|
ParamAttrs = new ParamAttrsList();
|
||||||
ParamAttrs.push_back(FunctionType::StructRetAttribute); // first arg
|
ParamAttrs->addAttributes(0, NoAttributeSet); // result
|
||||||
|
ParamAttrs->addAttributes(1, StructRetAttribute); // first arg
|
||||||
}
|
}
|
||||||
|
|
||||||
const FunctionType *FT = FunctionType::get(RetTy, ParamTyList, isVarArg,
|
const FunctionType *FT =
|
||||||
ParamAttrs);
|
FunctionType::get(RetTy, ParamTyList, isVarArg, ParamAttrs);
|
||||||
const PointerType *PFT = PointerType::get(FT);
|
const PointerType *PFT = PointerType::get(FT);
|
||||||
delete $2.PAT;
|
delete $2.PAT;
|
||||||
|
|
||||||
@ -3279,10 +3290,11 @@ BBTerminatorInst
|
|||||||
FTySign.add(I->S);
|
FTySign.add(I->S);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FunctionType::ParamAttrsList ParamAttrs;
|
ParamAttrsList *ParamAttrs = 0;
|
||||||
if ($2 == OldCallingConv::CSRet) {
|
if ($2 == OldCallingConv::CSRet) {
|
||||||
ParamAttrs.push_back(FunctionType::NoAttributeSet);
|
ParamAttrs = new ParamAttrsList();
|
||||||
ParamAttrs.push_back(FunctionType::StructRetAttribute);
|
ParamAttrs->addAttributes(0, NoAttributeSet); // Function result
|
||||||
|
ParamAttrs->addAttributes(1, StructRetAttribute); // first param
|
||||||
}
|
}
|
||||||
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
|
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
|
||||||
if (isVarArg) ParamTypes.pop_back();
|
if (isVarArg) ParamTypes.pop_back();
|
||||||
@ -3296,6 +3308,7 @@ BBTerminatorInst
|
|||||||
// and then the 0th element again to get the result type.
|
// and then the 0th element again to get the result type.
|
||||||
$$.S.copy($3.S.get(0).get(0));
|
$$.S.copy($3.S.get(0).get(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
$4.S.makeComposite(FTySign);
|
$4.S.makeComposite(FTySign);
|
||||||
Value *V = getVal(PFTy, $4); // Get the function we're calling...
|
Value *V = getVal(PFTy, $4); // Get the function we're calling...
|
||||||
BasicBlock *Normal = getBBVal($10);
|
BasicBlock *Normal = getBBVal($10);
|
||||||
@ -3656,7 +3669,7 @@ InstVal
|
|||||||
$$.S.copy($2.S);
|
$$.S.copy($2.S);
|
||||||
delete $2.P; // Free the list...
|
delete $2.P; // Free the list...
|
||||||
}
|
}
|
||||||
| OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')' {
|
| OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')' {
|
||||||
// Handle the short call syntax
|
// Handle the short call syntax
|
||||||
const PointerType *PFTy;
|
const PointerType *PFTy;
|
||||||
const FunctionType *FTy;
|
const FunctionType *FTy;
|
||||||
@ -3674,11 +3687,6 @@ InstVal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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;
|
bool isVarArg = ParamTypes.size() && ParamTypes.back() == Type::VoidTy;
|
||||||
if (isVarArg) ParamTypes.pop_back();
|
if (isVarArg) ParamTypes.pop_back();
|
||||||
|
|
||||||
@ -3686,6 +3694,14 @@ InstVal
|
|||||||
if (!RetTy->isFirstClassType() && RetTy != Type::VoidTy)
|
if (!RetTy->isFirstClassType() && RetTy != Type::VoidTy)
|
||||||
error("Functions cannot return aggregate types");
|
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);
|
FTy = FunctionType::get(RetTy, ParamTypes, isVarArg, ParamAttrs);
|
||||||
PFTy = PointerType::get(FTy);
|
PFTy = PointerType::get(FTy);
|
||||||
$$.S.copy($3.S);
|
$$.S.copy($3.S);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user