X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAsmParser%2FllvmAsmParser.h.cvs;h=d115a121ee121ba39b5885432d1f893d7d691c32;hb=e6be34a53ecbe8c2ff9f0793b13d847e94c0de91;hp=69d7b9416781968769dc839d432d3edcecc9c464;hpb=47811b76ca92ddfebdd73c633d04ba8a4f5b7b59;p=oota-llvm.git diff --git a/lib/AsmParser/llvmAsmParser.h.cvs b/lib/AsmParser/llvmAsmParser.h.cvs index 69d7b941678..d115a121ee1 100644 --- a/lib/AsmParser/llvmAsmParser.h.cvs +++ b/lib/AsmParser/llvmAsmParser.h.cvs @@ -1,19 +1,368 @@ -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, + OPAQUE = 304, + EXTERNAL = 305, + TARGET = 306, + TRIPLE = 307, + ALIGN = 308, + ADDRSPACE = 309, + DEPLIBS = 310, + CALL = 311, + TAIL = 312, + ASM_TOK = 313, + MODULE = 314, + SIDEEFFECT = 315, + CC_TOK = 316, + CCC_TOK = 317, + FASTCC_TOK = 318, + COLDCC_TOK = 319, + X86_STDCALLCC_TOK = 320, + X86_FASTCALLCC_TOK = 321, + DATALAYOUT = 322, + RET = 323, + BR = 324, + SWITCH = 325, + INVOKE = 326, + UNWIND = 327, + UNREACHABLE = 328, + ADD = 329, + SUB = 330, + MUL = 331, + UDIV = 332, + SDIV = 333, + FDIV = 334, + UREM = 335, + SREM = 336, + FREM = 337, + AND = 338, + OR = 339, + XOR = 340, + SHL = 341, + LSHR = 342, + ASHR = 343, + ICMP = 344, + FCMP = 345, + EQ = 346, + NE = 347, + SLT = 348, + SGT = 349, + SLE = 350, + SGE = 351, + ULT = 352, + UGT = 353, + ULE = 354, + UGE = 355, + OEQ = 356, + ONE = 357, + OLT = 358, + OGT = 359, + OLE = 360, + OGE = 361, + ORD = 362, + UNO = 363, + UEQ = 364, + UNE = 365, + MALLOC = 366, + ALLOCA = 367, + FREE = 368, + LOAD = 369, + STORE = 370, + GETELEMENTPTR = 371, + TRUNC = 372, + ZEXT = 373, + SEXT = 374, + FPTRUNC = 375, + FPEXT = 376, + BITCAST = 377, + UITOFP = 378, + SITOFP = 379, + FPTOUI = 380, + FPTOSI = 381, + INTTOPTR = 382, + PTRTOINT = 383, + PHI_TOK = 384, + SELECT = 385, + VAARG = 386, + EXTRACTELEMENT = 387, + INSERTELEMENT = 388, + SHUFFLEVECTOR = 389, + GETRESULT = 390, + SIGNEXT = 391, + ZEROEXT = 392, + NORETURN = 393, + INREG = 394, + SRET = 395, + NOUNWIND = 396, + NOALIAS = 397, + BYVAL = 398, + NEST = 399, + READNONE = 400, + READONLY = 401, + GC = 402, + DEFAULT = 403, + HIDDEN = 404, + PROTECTED = 405 + }; +#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 OPAQUE 304 +#define EXTERNAL 305 +#define TARGET 306 +#define TRIPLE 307 +#define ALIGN 308 +#define ADDRSPACE 309 +#define DEPLIBS 310 +#define CALL 311 +#define TAIL 312 +#define ASM_TOK 313 +#define MODULE 314 +#define SIDEEFFECT 315 +#define CC_TOK 316 +#define CCC_TOK 317 +#define FASTCC_TOK 318 +#define COLDCC_TOK 319 +#define X86_STDCALLCC_TOK 320 +#define X86_FASTCALLCC_TOK 321 +#define DATALAYOUT 322 +#define RET 323 +#define BR 324 +#define SWITCH 325 +#define INVOKE 326 +#define UNWIND 327 +#define UNREACHABLE 328 +#define ADD 329 +#define SUB 330 +#define MUL 331 +#define UDIV 332 +#define SDIV 333 +#define FDIV 334 +#define UREM 335 +#define SREM 336 +#define FREM 337 +#define AND 338 +#define OR 339 +#define XOR 340 +#define SHL 341 +#define LSHR 342 +#define ASHR 343 +#define ICMP 344 +#define FCMP 345 +#define EQ 346 +#define NE 347 +#define SLT 348 +#define SGT 349 +#define SLE 350 +#define SGE 351 +#define ULT 352 +#define UGT 353 +#define ULE 354 +#define UGE 355 +#define OEQ 356 +#define ONE 357 +#define OLT 358 +#define OGT 359 +#define OLE 360 +#define OGE 361 +#define ORD 362 +#define UNO 363 +#define UEQ 364 +#define UNE 365 +#define MALLOC 366 +#define ALLOCA 367 +#define FREE 368 +#define LOAD 369 +#define STORE 370 +#define GETELEMENTPTR 371 +#define TRUNC 372 +#define ZEXT 373 +#define SEXT 374 +#define FPTRUNC 375 +#define FPEXT 376 +#define BITCAST 377 +#define UITOFP 378 +#define SITOFP 379 +#define FPTOUI 380 +#define FPTOSI 381 +#define INTTOPTR 382 +#define PTRTOINT 383 +#define PHI_TOK 384 +#define SELECT 385 +#define VAARG 386 +#define EXTRACTELEMENT 387 +#define INSERTELEMENT 388 +#define SHUFFLEVECTOR 389 +#define GETRESULT 390 +#define SIGNEXT 391 +#define ZEROEXT 392 +#define NORETURN 393 +#define INREG 394 +#define SRET 395 +#define NOUNWIND 396 +#define NOALIAS 397 +#define BYVAL 398 +#define NEST 399 +#define READNONE 400 +#define READONLY 401 +#define GC 402 +#define DEFAULT 403 +#define HIDDEN 404 +#define PROTECTED 405 + + + + +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +#line 953 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y" +{ llvm::Module *ModuleVal; llvm::Function *FunctionVal; - std::pair *ArgVal; llvm::BasicBlock *BasicBlockVal; llvm::TerminatorInst *TermInstVal; llvm::Instruction *InstVal; llvm::Constant *ConstVal; const llvm::Type *PrimType; + std::list *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; - - std::vector > *ArgList; std::vector *ValueList; - std::list *TypeList; + llvm::ArgListType *ArgList; + llvm::TypeWithAttrs TypeWithAttrs; + llvm::TypeWithAttrsList *TypeWithAttrsList; + llvm::ParamList *ParamList; + // Represent the RHS of PHI node std::list > *PHIList; @@ -21,127 +370,34 @@ typedef union { std::vector *ConstVector; llvm::GlobalValue::LinkageTypes Linkage; + llvm::GlobalValue::VisibilityTypes Visibility; + llvm::ParameterAttributes ParamAttrs; + 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! - - llvm::Instruction::BinaryOps BinaryOpVal; - llvm::Instruction::TermOps TermOpVal; - llvm::Instruction::MemoryOps MemOpVal; - llvm::Instruction::OtherOps OtherOpVal; - llvm::Module::Endianness Endianness; -} YYSTYPE; -#define ESINT64VAL 257 -#define EUINT64VAL 258 -#define SINTVAL 259 -#define UINTVAL 260 -#define FPVAL 261 -#define VOID 262 -#define BOOL 263 -#define SBYTE 264 -#define UBYTE 265 -#define SHORT 266 -#define USHORT 267 -#define INT 268 -#define UINT 269 -#define LONG 270 -#define ULONG 271 -#define FLOAT 272 -#define DOUBLE 273 -#define TYPE 274 -#define LABEL 275 -#define VAR_ID 276 -#define LABELSTR 277 -#define STRINGCONSTANT 278 -#define IMPLEMENTATION 279 -#define ZEROINITIALIZER 280 -#define TRUETOK 281 -#define FALSETOK 282 -#define BEGINTOK 283 -#define ENDTOK 284 -#define DECLARE 285 -#define GLOBAL 286 -#define CONSTANT 287 -#define SECTION 288 -#define VOLATILE 289 -#define TO 290 -#define DOTDOTDOT 291 -#define NULL_TOK 292 -#define UNDEF 293 -#define CONST 294 -#define INTERNAL 295 -#define LINKONCE 296 -#define WEAK 297 -#define APPENDING 298 -#define DLLIMPORT 299 -#define DLLEXPORT 300 -#define EXTERN_WEAK 301 -#define OPAQUE 302 -#define NOT 303 -#define EXTERNAL 304 -#define TARGET 305 -#define TRIPLE 306 -#define ENDIAN 307 -#define POINTERSIZE 308 -#define LITTLE 309 -#define BIG 310 -#define ALIGN 311 -#define DEPLIBS 312 -#define CALL 313 -#define TAIL 314 -#define ASM_TOK 315 -#define MODULE 316 -#define SIDEEFFECT 317 -#define CC_TOK 318 -#define CCC_TOK 319 -#define CSRETCC_TOK 320 -#define FASTCC_TOK 321 -#define COLDCC_TOK 322 -#define X86_STDCALLCC_TOK 323 -#define X86_FASTCALLCC_TOK 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 DIV 334 -#define REM 335 -#define AND 336 -#define OR 337 -#define XOR 338 -#define SETLE 339 -#define SETGE 340 -#define SETLT 341 -#define SETGT 342 -#define SETEQ 343 -#define SETNE 344 -#define MALLOC 345 -#define ALLOCA 346 -#define FREE 347 -#define LOAD 348 -#define STORE 349 -#define GETELEMENTPTR 350 -#define PHI_TOK 351 -#define CAST 352 -#define SELECT 353 -#define SHL 354 -#define SHR 355 -#define VAARG 356 -#define EXTRACTELEMENT 357 -#define INSERTELEMENT 358 -#define SHUFFLEVECTOR 359 -#define VAARG_old 360 -#define VANEXT_old 361 + 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::ICmpInst::Predicate IPredicate; + llvm::FCmpInst::Predicate FPredicate; +} +/* Line 1529 of yacc.c. */ +#line 396 "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; +