Use parameter attribute store (soon to be renamed) for
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
index 5433242db5e2ff404e2266d7212472ee6eec5ac0..a45ec5254c0fbfa1f6333d214a143a23d4efa373 100644 (file)
@@ -1,7 +1,9 @@
-/* A Bison parser, made by GNU Bison 2.1.  */
+/* A Bison parser, made by GNU Bison 2.3.  */
 
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* 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
    Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.  */
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+/* 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
    enum yytokentype {
      ESINT64VAL = 258,
      EUINT64VAL = 259,
-     SINTVAL = 260,
-     UINTVAL = 261,
-     FPVAL = 262,
-     VOID = 263,
-     BOOL = 264,
-     INTTYPE = 265,
-     FLOAT = 266,
-     DOUBLE = 267,
-     LABEL = 268,
-     TYPE = 269,
-     VAR_ID = 270,
-     LABELSTR = 271,
-     STRINGCONSTANT = 272,
-     IMPLEMENTATION = 273,
-     ZEROINITIALIZER = 274,
-     TRUETOK = 275,
-     FALSETOK = 276,
-     BEGINTOK = 277,
-     ENDTOK = 278,
-     DECLARE = 279,
-     DEFINE = 280,
-     GLOBAL = 281,
-     CONSTANT = 282,
-     SECTION = 283,
-     VOLATILE = 284,
-     TO = 285,
-     DOTDOTDOT = 286,
-     NULL_TOK = 287,
-     UNDEF = 288,
-     INTERNAL = 289,
-     LINKONCE = 290,
-     WEAK = 291,
-     APPENDING = 292,
-     DLLIMPORT = 293,
-     DLLEXPORT = 294,
-     EXTERN_WEAK = 295,
-     OPAQUE = 296,
-     NOT = 297,
-     EXTERNAL = 298,
-     TARGET = 299,
-     TRIPLE = 300,
-     ENDIAN = 301,
-     POINTERSIZE = 302,
-     LITTLE = 303,
-     BIG = 304,
-     ALIGN = 305,
-     DEPLIBS = 306,
-     CALL = 307,
-     TAIL = 308,
-     ASM_TOK = 309,
-     MODULE = 310,
-     SIDEEFFECT = 311,
-     CC_TOK = 312,
-     CCC_TOK = 313,
-     CSRETCC_TOK = 314,
-     FASTCC_TOK = 315,
-     COLDCC_TOK = 316,
-     X86_STDCALLCC_TOK = 317,
-     X86_FASTCALLCC_TOK = 318,
-     DATALAYOUT = 319,
-     RET = 320,
-     BR = 321,
-     SWITCH = 322,
-     INVOKE = 323,
-     UNWIND = 324,
-     UNREACHABLE = 325,
-     ADD = 326,
-     SUB = 327,
-     MUL = 328,
-     UDIV = 329,
-     SDIV = 330,
-     FDIV = 331,
-     UREM = 332,
-     SREM = 333,
-     FREM = 334,
-     AND = 335,
-     OR = 336,
-     XOR = 337,
-     ICMP = 338,
-     FCMP = 339,
-     EQ = 340,
-     NE = 341,
-     SLT = 342,
-     SGT = 343,
-     SLE = 344,
-     SGE = 345,
-     ULT = 346,
-     UGT = 347,
-     ULE = 348,
-     UGE = 349,
-     OEQ = 350,
-     ONE = 351,
-     OLT = 352,
-     OGT = 353,
-     OLE = 354,
-     OGE = 355,
-     ORD = 356,
-     UNO = 357,
-     UEQ = 358,
-     UNE = 359,
-     MALLOC = 360,
-     ALLOCA = 361,
-     FREE = 362,
-     LOAD = 363,
-     STORE = 364,
-     GETELEMENTPTR = 365,
-     TRUNC = 366,
-     ZEXT = 367,
-     SEXT = 368,
-     FPTRUNC = 369,
-     FPEXT = 370,
-     BITCAST = 371,
-     UITOFP = 372,
-     SITOFP = 373,
-     FPTOUI = 374,
-     FPTOSI = 375,
-     INTTOPTR = 376,
-     PTRTOINT = 377,
-     PHI_TOK = 378,
-     SELECT = 379,
-     SHL = 380,
-     LSHR = 381,
-     ASHR = 382,
-     VAARG = 383,
-     EXTRACTELEMENT = 384,
-     INSERTELEMENT = 385,
-     SHUFFLEVECTOR = 386,
-     NORETURN = 387
+     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 SINTVAL 260
-#define UINTVAL 261
-#define FPVAL 262
-#define VOID 263
-#define BOOL 264
-#define INTTYPE 265
-#define FLOAT 266
-#define DOUBLE 267
-#define LABEL 268
-#define TYPE 269
-#define VAR_ID 270
-#define LABELSTR 271
-#define STRINGCONSTANT 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 NOT 297
-#define EXTERNAL 298
-#define TARGET 299
-#define TRIPLE 300
-#define ENDIAN 301
-#define POINTERSIZE 302
-#define LITTLE 303
-#define BIG 304
-#define ALIGN 305
-#define DEPLIBS 306
-#define CALL 307
-#define TAIL 308
-#define ASM_TOK 309
-#define MODULE 310
-#define SIDEEFFECT 311
-#define CC_TOK 312
-#define CCC_TOK 313
-#define CSRETCC_TOK 314
-#define FASTCC_TOK 315
-#define COLDCC_TOK 316
-#define X86_STDCALLCC_TOK 317
-#define X86_FASTCALLCC_TOK 318
-#define DATALAYOUT 319
-#define RET 320
-#define BR 321
-#define SWITCH 322
-#define INVOKE 323
-#define UNWIND 324
-#define UNREACHABLE 325
-#define ADD 326
-#define SUB 327
-#define MUL 328
-#define UDIV 329
-#define SDIV 330
-#define FDIV 331
-#define UREM 332
-#define SREM 333
-#define FREM 334
-#define AND 335
-#define OR 336
-#define XOR 337
-#define ICMP 338
-#define FCMP 339
-#define EQ 340
-#define NE 341
-#define SLT 342
-#define SGT 343
-#define SLE 344
-#define SGE 345
-#define ULT 346
-#define UGT 347
-#define ULE 348
-#define UGE 349
-#define OEQ 350
-#define ONE 351
-#define OLT 352
-#define OGT 353
-#define OLE 354
-#define OGE 355
-#define ORD 356
-#define UNO 357
-#define UEQ 358
-#define UNE 359
-#define MALLOC 360
-#define ALLOCA 361
-#define FREE 362
-#define LOAD 363
-#define STORE 364
-#define GETELEMENTPTR 365
-#define TRUNC 366
-#define ZEXT 367
-#define SEXT 368
-#define FPTRUNC 369
-#define FPEXT 370
-#define BITCAST 371
-#define UITOFP 372
-#define SITOFP 373
-#define FPTOUI 374
-#define FPTOSI 375
-#define INTTOPTR 376
-#define PTRTOINT 377
-#define PHI_TOK 378
-#define SELECT 379
-#define SHL 380
-#define LSHR 381
-#define ASHR 382
-#define VAARG 383
-#define EXTRACTELEMENT 384
-#define INSERTELEMENT 385
-#define SHUFFLEVECTOR 386
-#define NORETURN 387
+#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)
-#line 876 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
-typedef union YYSTYPE {
+#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;
@@ -311,10 +380,11 @@ typedef union YYSTYPE {
   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*,
@@ -323,28 +393,31 @@ typedef union YYSTYPE {
   std::vector<llvm::Constant*>           *ConstVector;
 
   llvm::GlobalValue::LinkageTypes         Linkage;
-  llvm::FunctionType::ParameterAttributes ParamAttrs;
+  llvm::GlobalValue::VisibilityTypes      Visibility;
+  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;
   llvm::Instruction::MemoryOps      MemOpVal;
   llvm::Instruction::CastOps        CastOpVal;
   llvm::Instruction::OtherOps       OtherOpVal;
-  llvm::Module::Endianness          Endianness;
   llvm::ICmpInst::Predicate         IPredicate;
   llvm::FCmpInst::Predicate         FPredicate;
-} YYSTYPE;
-/* Line 1447 of yacc.c.  */
-#line 348 "llvmAsmParser.tab.h"
+}
+/* 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
@@ -352,5 +425,3 @@ typedef union YYSTYPE {
 
 extern YYSTYPE llvmAsmlval;
 
-
-