Use parameter attribute store (soon to be renamed) for
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
index d6cf28d31e8a780f6df36a709cecf00afe1cabb7..a45ec5254c0fbfa1f6333d214a143a23d4efa373 100644 (file)
@@ -1,4 +1,373 @@
-typedef union {
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     ESINT64VAL = 258,
+     EUINT64VAL = 259,
+     ESAPINTVAL = 260,
+     EUAPINTVAL = 261,
+     LOCALVAL_ID = 262,
+     GLOBALVAL_ID = 263,
+     FPVAL = 264,
+     VOID = 265,
+     INTTYPE = 266,
+     FLOAT = 267,
+     DOUBLE = 268,
+     X86_FP80 = 269,
+     FP128 = 270,
+     PPC_FP128 = 271,
+     LABEL = 272,
+     TYPE = 273,
+     LOCALVAR = 274,
+     GLOBALVAR = 275,
+     LABELSTR = 276,
+     STRINGCONSTANT = 277,
+     ATSTRINGCONSTANT = 278,
+     PCTSTRINGCONSTANT = 279,
+     ZEROINITIALIZER = 280,
+     TRUETOK = 281,
+     FALSETOK = 282,
+     BEGINTOK = 283,
+     ENDTOK = 284,
+     DECLARE = 285,
+     DEFINE = 286,
+     GLOBAL = 287,
+     CONSTANT = 288,
+     SECTION = 289,
+     ALIAS = 290,
+     VOLATILE = 291,
+     THREAD_LOCAL = 292,
+     TO = 293,
+     DOTDOTDOT = 294,
+     NULL_TOK = 295,
+     UNDEF = 296,
+     INTERNAL = 297,
+     LINKONCE = 298,
+     WEAK = 299,
+     APPENDING = 300,
+     DLLIMPORT = 301,
+     DLLEXPORT = 302,
+     EXTERN_WEAK = 303,
+     COMMON = 304,
+     OPAQUE = 305,
+     EXTERNAL = 306,
+     TARGET = 307,
+     TRIPLE = 308,
+     ALIGN = 309,
+     ADDRSPACE = 310,
+     DEPLIBS = 311,
+     CALL = 312,
+     TAIL = 313,
+     ASM_TOK = 314,
+     MODULE = 315,
+     SIDEEFFECT = 316,
+     CC_TOK = 317,
+     CCC_TOK = 318,
+     FASTCC_TOK = 319,
+     COLDCC_TOK = 320,
+     X86_STDCALLCC_TOK = 321,
+     X86_FASTCALLCC_TOK = 322,
+     X86_SSECALLCC_TOK = 323,
+     DATALAYOUT = 324,
+     RET = 325,
+     BR = 326,
+     SWITCH = 327,
+     INVOKE = 328,
+     UNWIND = 329,
+     UNREACHABLE = 330,
+     ADD = 331,
+     SUB = 332,
+     MUL = 333,
+     UDIV = 334,
+     SDIV = 335,
+     FDIV = 336,
+     UREM = 337,
+     SREM = 338,
+     FREM = 339,
+     AND = 340,
+     OR = 341,
+     XOR = 342,
+     SHL = 343,
+     LSHR = 344,
+     ASHR = 345,
+     ICMP = 346,
+     FCMP = 347,
+     VICMP = 348,
+     VFCMP = 349,
+     EQ = 350,
+     NE = 351,
+     SLT = 352,
+     SGT = 353,
+     SLE = 354,
+     SGE = 355,
+     ULT = 356,
+     UGT = 357,
+     ULE = 358,
+     UGE = 359,
+     OEQ = 360,
+     ONE = 361,
+     OLT = 362,
+     OGT = 363,
+     OLE = 364,
+     OGE = 365,
+     ORD = 366,
+     UNO = 367,
+     UEQ = 368,
+     UNE = 369,
+     MALLOC = 370,
+     ALLOCA = 371,
+     FREE = 372,
+     LOAD = 373,
+     STORE = 374,
+     GETELEMENTPTR = 375,
+     TRUNC = 376,
+     ZEXT = 377,
+     SEXT = 378,
+     FPTRUNC = 379,
+     FPEXT = 380,
+     BITCAST = 381,
+     UITOFP = 382,
+     SITOFP = 383,
+     FPTOUI = 384,
+     FPTOSI = 385,
+     INTTOPTR = 386,
+     PTRTOINT = 387,
+     PHI_TOK = 388,
+     SELECT = 389,
+     VAARG = 390,
+     EXTRACTELEMENT = 391,
+     INSERTELEMENT = 392,
+     SHUFFLEVECTOR = 393,
+     GETRESULT = 394,
+     EXTRACTVALUE = 395,
+     INSERTVALUE = 396,
+     SIGNEXT = 397,
+     ZEROEXT = 398,
+     NORETURN = 399,
+     INREG = 400,
+     SRET = 401,
+     NOUNWIND = 402,
+     NOALIAS = 403,
+     BYVAL = 404,
+     NEST = 405,
+     READNONE = 406,
+     READONLY = 407,
+     GC = 408,
+     FNNOTE = 409,
+     INLINE = 410,
+     ALWAYS = 411,
+     NEVER = 412,
+     OPTIMIZEFORSIZE = 413,
+     DEFAULT = 414,
+     HIDDEN = 415,
+     PROTECTED = 416
+   };
+#endif
+/* Tokens.  */
+#define ESINT64VAL 258
+#define EUINT64VAL 259
+#define ESAPINTVAL 260
+#define EUAPINTVAL 261
+#define LOCALVAL_ID 262
+#define GLOBALVAL_ID 263
+#define FPVAL 264
+#define VOID 265
+#define INTTYPE 266
+#define FLOAT 267
+#define DOUBLE 268
+#define X86_FP80 269
+#define FP128 270
+#define PPC_FP128 271
+#define LABEL 272
+#define TYPE 273
+#define LOCALVAR 274
+#define GLOBALVAR 275
+#define LABELSTR 276
+#define STRINGCONSTANT 277
+#define ATSTRINGCONSTANT 278
+#define PCTSTRINGCONSTANT 279
+#define ZEROINITIALIZER 280
+#define TRUETOK 281
+#define FALSETOK 282
+#define BEGINTOK 283
+#define ENDTOK 284
+#define DECLARE 285
+#define DEFINE 286
+#define GLOBAL 287
+#define CONSTANT 288
+#define SECTION 289
+#define ALIAS 290
+#define VOLATILE 291
+#define THREAD_LOCAL 292
+#define TO 293
+#define DOTDOTDOT 294
+#define NULL_TOK 295
+#define UNDEF 296
+#define INTERNAL 297
+#define LINKONCE 298
+#define WEAK 299
+#define APPENDING 300
+#define DLLIMPORT 301
+#define DLLEXPORT 302
+#define EXTERN_WEAK 303
+#define COMMON 304
+#define OPAQUE 305
+#define EXTERNAL 306
+#define TARGET 307
+#define TRIPLE 308
+#define ALIGN 309
+#define ADDRSPACE 310
+#define DEPLIBS 311
+#define CALL 312
+#define TAIL 313
+#define ASM_TOK 314
+#define MODULE 315
+#define SIDEEFFECT 316
+#define CC_TOK 317
+#define CCC_TOK 318
+#define FASTCC_TOK 319
+#define COLDCC_TOK 320
+#define X86_STDCALLCC_TOK 321
+#define X86_FASTCALLCC_TOK 322
+#define X86_SSECALLCC_TOK 323
+#define DATALAYOUT 324
+#define RET 325
+#define BR 326
+#define SWITCH 327
+#define INVOKE 328
+#define UNWIND 329
+#define UNREACHABLE 330
+#define ADD 331
+#define SUB 332
+#define MUL 333
+#define UDIV 334
+#define SDIV 335
+#define FDIV 336
+#define UREM 337
+#define SREM 338
+#define FREM 339
+#define AND 340
+#define OR 341
+#define XOR 342
+#define SHL 343
+#define LSHR 344
+#define ASHR 345
+#define ICMP 346
+#define FCMP 347
+#define VICMP 348
+#define VFCMP 349
+#define EQ 350
+#define NE 351
+#define SLT 352
+#define SGT 353
+#define SLE 354
+#define SGE 355
+#define ULT 356
+#define UGT 357
+#define ULE 358
+#define UGE 359
+#define OEQ 360
+#define ONE 361
+#define OLT 362
+#define OGT 363
+#define OLE 364
+#define OGE 365
+#define ORD 366
+#define UNO 367
+#define UEQ 368
+#define UNE 369
+#define MALLOC 370
+#define ALLOCA 371
+#define FREE 372
+#define LOAD 373
+#define STORE 374
+#define GETELEMENTPTR 375
+#define TRUNC 376
+#define ZEXT 377
+#define SEXT 378
+#define FPTRUNC 379
+#define FPEXT 380
+#define BITCAST 381
+#define UITOFP 382
+#define SITOFP 383
+#define FPTOUI 384
+#define FPTOSI 385
+#define INTTOPTR 386
+#define PTRTOINT 387
+#define PHI_TOK 388
+#define SELECT 389
+#define VAARG 390
+#define EXTRACTELEMENT 391
+#define INSERTELEMENT 392
+#define SHUFFLEVECTOR 393
+#define GETRESULT 394
+#define EXTRACTVALUE 395
+#define INSERTVALUE 396
+#define SIGNEXT 397
+#define ZEROEXT 398
+#define NORETURN 399
+#define INREG 400
+#define SRET 401
+#define NOUNWIND 402
+#define NOALIAS 403
+#define BYVAL 404
+#define NEST 405
+#define READNONE 406
+#define READONLY 407
+#define GC 408
+#define FNNOTE 409
+#define INLINE 410
+#define ALWAYS 411
+#define NEVER 412
+#define OPTIMIZEFORSIZE 413
+#define DEFAULT 414
+#define HIDDEN 415
+#define PROTECTED 416
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 970 "/Volumes/Nanpura/mainline/llvm/lib/AsmParser/llvmAsmParser.y"
+{
   llvm::Module                           *ModuleVal;
   llvm::Function                         *FunctionVal;
   llvm::BasicBlock                       *BasicBlockVal;
@@ -11,10 +380,11 @@ typedef union {
   llvm::PATypeHolder                     *TypeVal;
   llvm::Value                            *ValueVal;
   std::vector<llvm::Value*>              *ValueList;
+  std::vector<unsigned>                  *ConstantList;
   llvm::ArgListType                      *ArgList;
   llvm::TypeWithAttrs                     TypeWithAttrs;
   llvm::TypeWithAttrsList                *TypeWithAttrsList;
-  llvm::ValueRefList                     *ValueRefList;
+  llvm::ParamList                        *ParamList;
 
   // Represent the RHS of PHI node
   std::list<std::pair<llvm::Value*,
@@ -24,7 +394,8 @@ typedef union {
 
   llvm::GlobalValue::LinkageTypes         Linkage;
   llvm::GlobalValue::VisibilityTypes      Visibility;
-  uint16_t                          ParamAttrs;
+  llvm::ParameterAttributes         ParamAttrs;
+  llvm::ParameterAttributes         FunctionNotes;
   llvm::APInt                       *APIntVal;
   int64_t                           SInt64Val;
   uint64_t                          UInt64Val;
@@ -43,150 +414,14 @@ typedef union {
   llvm::Instruction::OtherOps       OtherOpVal;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-#define        ESINT64VAL      257
-#define        EUINT64VAL      258
-#define        ESAPINTVAL      259
-#define        EUAPINTVAL      260
-#define        LOCALVAL_ID     261
-#define        GLOBALVAL_ID    262
-#define        FPVAL   263
-#define        VOID    264
-#define        INTTYPE 265
-#define        FLOAT   266
-#define        DOUBLE  267
-#define        X86_FP80        268
-#define        FP128   269
-#define        PPC_FP128       270
-#define        LABEL   271
-#define        TYPE    272
-#define        LOCALVAR        273
-#define        GLOBALVAR       274
-#define        LABELSTR        275
-#define        STRINGCONSTANT  276
-#define        ATSTRINGCONSTANT        277
-#define        PCTSTRINGCONSTANT       278
-#define        ZEROINITIALIZER 279
-#define        TRUETOK 280
-#define        FALSETOK        281
-#define        BEGINTOK        282
-#define        ENDTOK  283
-#define        DECLARE 284
-#define        DEFINE  285
-#define        GLOBAL  286
-#define        CONSTANT        287
-#define        SECTION 288
-#define        ALIAS   289
-#define        VOLATILE        290
-#define        THREAD_LOCAL    291
-#define        TO      292
-#define        DOTDOTDOT       293
-#define        NULL_TOK        294
-#define        UNDEF   295
-#define        INTERNAL        296
-#define        LINKONCE        297
-#define        WEAK    298
-#define        APPENDING       299
-#define        DLLIMPORT       300
-#define        DLLEXPORT       301
-#define        EXTERN_WEAK     302
-#define        OPAQUE  303
-#define        EXTERNAL        304
-#define        TARGET  305
-#define        TRIPLE  306
-#define        ALIGN   307
-#define        DEPLIBS 308
-#define        CALL    309
-#define        TAIL    310
-#define        ASM_TOK 311
-#define        MODULE  312
-#define        SIDEEFFECT      313
-#define        CC_TOK  314
-#define        CCC_TOK 315
-#define        FASTCC_TOK      316
-#define        COLDCC_TOK      317
-#define        X86_STDCALLCC_TOK       318
-#define        X86_FASTCALLCC_TOK      319
-#define        DATALAYOUT      320
-#define        RET     321
-#define        BR      322
-#define        SWITCH  323
-#define        INVOKE  324
-#define        UNWIND  325
-#define        UNREACHABLE     326
-#define        ADD     327
-#define        SUB     328
-#define        MUL     329
-#define        UDIV    330
-#define        SDIV    331
-#define        FDIV    332
-#define        UREM    333
-#define        SREM    334
-#define        FREM    335
-#define        AND     336
-#define        OR      337
-#define        XOR     338
-#define        SHL     339
-#define        LSHR    340
-#define        ASHR    341
-#define        ICMP    342
-#define        FCMP    343
-#define        EQ      344
-#define        NE      345
-#define        SLT     346
-#define        SGT     347
-#define        SLE     348
-#define        SGE     349
-#define        ULT     350
-#define        UGT     351
-#define        ULE     352
-#define        UGE     353
-#define        OEQ     354
-#define        ONE     355
-#define        OLT     356
-#define        OGT     357
-#define        OLE     358
-#define        OGE     359
-#define        ORD     360
-#define        UNO     361
-#define        UEQ     362
-#define        UNE     363
-#define        MALLOC  364
-#define        ALLOCA  365
-#define        FREE    366
-#define        LOAD    367
-#define        STORE   368
-#define        GETELEMENTPTR   369
-#define        TRUNC   370
-#define        ZEXT    371
-#define        SEXT    372
-#define        FPTRUNC 373
-#define        FPEXT   374
-#define        BITCAST 375
-#define        UITOFP  376
-#define        SITOFP  377
-#define        FPTOUI  378
-#define        FPTOSI  379
-#define        INTTOPTR        380
-#define        PTRTOINT        381
-#define        PHI_TOK 382
-#define        SELECT  383
-#define        VAARG   384
-#define        EXTRACTELEMENT  385
-#define        INSERTELEMENT   386
-#define        SHUFFLEVECTOR   387
-#define        SIGNEXT 388
-#define        ZEROEXT 389
-#define        NORETURN        390
-#define        INREG   391
-#define        SRET    392
-#define        NOUNWIND        393
-#define        NOALIAS 394
-#define        BYVAL   395
-#define        NEST    396
-#define        DEFAULT 397
-#define        HIDDEN  398
-#define        PROTECTED       399
-
+}
+/* Line 1529 of yacc.c.  */
+#line 420 "llvmAsmParser.tab.h"
+       YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 extern YYSTYPE llvmAsmlval;
+