Use parameter attribute store (soon to be renamed) for
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
index bf20cd5422603bb26e8ff7fb837d2a39ae1d2073..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,16 +394,18 @@ typedef union {
 
   llvm::GlobalValue::LinkageTypes         Linkage;
   llvm::GlobalValue::VisibilityTypes      Visibility;
-  llvm::FunctionType::ParameterAttributes ParamAttrs;
+  llvm::ParameterAttributes         ParamAttrs;
+  llvm::ParameterAttributes         FunctionNotes;
+  llvm::APInt                       *APIntVal;
   int64_t                           SInt64Val;
   uint64_t                          UInt64Val;
   int                               SIntVal;
   unsigned                          UIntVal;
-  double                            FPVal;
+  llvm::APFloat                    *FPVal;
   bool                              BoolVal;
 
-  char                             *StrVal;   // This memory is strdup'd!
-  llvm::ValID                       ValIDVal; // strdup'd memory maybe!
+  std::string                      *StrVal;   // This memory must be deleted
+  llvm::ValID                       ValIDVal;
 
   llvm::Instruction::BinaryOps      BinaryOpVal;
   llvm::Instruction::TermOps        TermOpVal;
@@ -42,136 +414,14 @@ typedef union {
   llvm::Instruction::OtherOps       OtherOpVal;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-#define        ESINT64VAL      257
-#define        EUINT64VAL      258
-#define        LOCALVAL_ID     259
-#define        GLOBALVAL_ID    260
-#define        FPVAL   261
-#define        VOID    262
-#define        INTTYPE 263
-#define        FLOAT   264
-#define        DOUBLE  265
-#define        LABEL   266
-#define        TYPE    267
-#define        LOCALVAR        268
-#define        GLOBALVAR       269
-#define        LABELSTR        270
-#define        STRINGCONSTANT  271
-#define        ATSTRINGCONSTANT        272
-#define        IMPLEMENTATION  273
-#define        ZEROINITIALIZER 274
-#define        TRUETOK 275
-#define        FALSETOK        276
-#define        BEGINTOK        277
-#define        ENDTOK  278
-#define        DECLARE 279
-#define        DEFINE  280
-#define        GLOBAL  281
-#define        CONSTANT        282
-#define        SECTION 283
-#define        VOLATILE        284
-#define        TO      285
-#define        DOTDOTDOT       286
-#define        NULL_TOK        287
-#define        UNDEF   288
-#define        INTERNAL        289
-#define        LINKONCE        290
-#define        WEAK    291
-#define        APPENDING       292
-#define        DLLIMPORT       293
-#define        DLLEXPORT       294
-#define        EXTERN_WEAK     295
-#define        OPAQUE  296
-#define        EXTERNAL        297
-#define        TARGET  298
-#define        TRIPLE  299
-#define        ALIGN   300
-#define        DEPLIBS 301
-#define        CALL    302
-#define        TAIL    303
-#define        ASM_TOK 304
-#define        MODULE  305
-#define        SIDEEFFECT      306
-#define        CC_TOK  307
-#define        CCC_TOK 308
-#define        FASTCC_TOK      309
-#define        COLDCC_TOK      310
-#define        X86_STDCALLCC_TOK       311
-#define        X86_FASTCALLCC_TOK      312
-#define        DATALAYOUT      313
-#define        RET     314
-#define        BR      315
-#define        SWITCH  316
-#define        INVOKE  317
-#define        UNWIND  318
-#define        UNREACHABLE     319
-#define        ADD     320
-#define        SUB     321
-#define        MUL     322
-#define        UDIV    323
-#define        SDIV    324
-#define        FDIV    325
-#define        UREM    326
-#define        SREM    327
-#define        FREM    328
-#define        AND     329
-#define        OR      330
-#define        XOR     331
-#define        SHL     332
-#define        LSHR    333
-#define        ASHR    334
-#define        ICMP    335
-#define        FCMP    336
-#define        EQ      337
-#define        NE      338
-#define        SLT     339
-#define        SGT     340
-#define        SLE     341
-#define        SGE     342
-#define        ULT     343
-#define        UGT     344
-#define        ULE     345
-#define        UGE     346
-#define        OEQ     347
-#define        ONE     348
-#define        OLT     349
-#define        OGT     350
-#define        OLE     351
-#define        OGE     352
-#define        ORD     353
-#define        UNO     354
-#define        UEQ     355
-#define        UNE     356
-#define        MALLOC  357
-#define        ALLOCA  358
-#define        FREE    359
-#define        LOAD    360
-#define        STORE   361
-#define        GETELEMENTPTR   362
-#define        TRUNC   363
-#define        ZEXT    364
-#define        SEXT    365
-#define        FPTRUNC 366
-#define        FPEXT   367
-#define        BITCAST 368
-#define        UITOFP  369
-#define        SITOFP  370
-#define        FPTOUI  371
-#define        FPTOSI  372
-#define        INTTOPTR        373
-#define        PTRTOINT        374
-#define        PHI_TOK 375
-#define        SELECT  376
-#define        VAARG   377
-#define        EXTRACTELEMENT  378
-#define        INSERTELEMENT   379
-#define        SHUFFLEVECTOR   380
-#define        NORETURN        381
-#define        INREG   382
-#define        SRET    383
-#define        DEFAULT 384
-#define        HIDDEN  385
-
+}
+/* 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;
+