mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	Added abstract class MemSDNode for any Node that have an associated MemOperand Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and atomic.lss => atomic.load.sub git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52706 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			415 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			415 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /* 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,
 | |
|      DATALAYOUT = 323,
 | |
|      RET = 324,
 | |
|      BR = 325,
 | |
|      SWITCH = 326,
 | |
|      INVOKE = 327,
 | |
|      UNWIND = 328,
 | |
|      UNREACHABLE = 329,
 | |
|      ADD = 330,
 | |
|      SUB = 331,
 | |
|      MUL = 332,
 | |
|      UDIV = 333,
 | |
|      SDIV = 334,
 | |
|      FDIV = 335,
 | |
|      UREM = 336,
 | |
|      SREM = 337,
 | |
|      FREM = 338,
 | |
|      AND = 339,
 | |
|      OR = 340,
 | |
|      XOR = 341,
 | |
|      SHL = 342,
 | |
|      LSHR = 343,
 | |
|      ASHR = 344,
 | |
|      ICMP = 345,
 | |
|      FCMP = 346,
 | |
|      VICMP = 347,
 | |
|      VFCMP = 348,
 | |
|      EQ = 349,
 | |
|      NE = 350,
 | |
|      SLT = 351,
 | |
|      SGT = 352,
 | |
|      SLE = 353,
 | |
|      SGE = 354,
 | |
|      ULT = 355,
 | |
|      UGT = 356,
 | |
|      ULE = 357,
 | |
|      UGE = 358,
 | |
|      OEQ = 359,
 | |
|      ONE = 360,
 | |
|      OLT = 361,
 | |
|      OGT = 362,
 | |
|      OLE = 363,
 | |
|      OGE = 364,
 | |
|      ORD = 365,
 | |
|      UNO = 366,
 | |
|      UEQ = 367,
 | |
|      UNE = 368,
 | |
|      MALLOC = 369,
 | |
|      ALLOCA = 370,
 | |
|      FREE = 371,
 | |
|      LOAD = 372,
 | |
|      STORE = 373,
 | |
|      GETELEMENTPTR = 374,
 | |
|      TRUNC = 375,
 | |
|      ZEXT = 376,
 | |
|      SEXT = 377,
 | |
|      FPTRUNC = 378,
 | |
|      FPEXT = 379,
 | |
|      BITCAST = 380,
 | |
|      UITOFP = 381,
 | |
|      SITOFP = 382,
 | |
|      FPTOUI = 383,
 | |
|      FPTOSI = 384,
 | |
|      INTTOPTR = 385,
 | |
|      PTRTOINT = 386,
 | |
|      PHI_TOK = 387,
 | |
|      SELECT = 388,
 | |
|      VAARG = 389,
 | |
|      EXTRACTELEMENT = 390,
 | |
|      INSERTELEMENT = 391,
 | |
|      SHUFFLEVECTOR = 392,
 | |
|      GETRESULT = 393,
 | |
|      EXTRACTVALUE = 394,
 | |
|      INSERTVALUE = 395,
 | |
|      SIGNEXT = 396,
 | |
|      ZEROEXT = 397,
 | |
|      NORETURN = 398,
 | |
|      INREG = 399,
 | |
|      SRET = 400,
 | |
|      NOUNWIND = 401,
 | |
|      NOALIAS = 402,
 | |
|      BYVAL = 403,
 | |
|      NEST = 404,
 | |
|      READNONE = 405,
 | |
|      READONLY = 406,
 | |
|      GC = 407,
 | |
|      DEFAULT = 408,
 | |
|      HIDDEN = 409,
 | |
|      PROTECTED = 410
 | |
|    };
 | |
| #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 DATALAYOUT 323
 | |
| #define RET 324
 | |
| #define BR 325
 | |
| #define SWITCH 326
 | |
| #define INVOKE 327
 | |
| #define UNWIND 328
 | |
| #define UNREACHABLE 329
 | |
| #define ADD 330
 | |
| #define SUB 331
 | |
| #define MUL 332
 | |
| #define UDIV 333
 | |
| #define SDIV 334
 | |
| #define FDIV 335
 | |
| #define UREM 336
 | |
| #define SREM 337
 | |
| #define FREM 338
 | |
| #define AND 339
 | |
| #define OR 340
 | |
| #define XOR 341
 | |
| #define SHL 342
 | |
| #define LSHR 343
 | |
| #define ASHR 344
 | |
| #define ICMP 345
 | |
| #define FCMP 346
 | |
| #define VICMP 347
 | |
| #define VFCMP 348
 | |
| #define EQ 349
 | |
| #define NE 350
 | |
| #define SLT 351
 | |
| #define SGT 352
 | |
| #define SLE 353
 | |
| #define SGE 354
 | |
| #define ULT 355
 | |
| #define UGT 356
 | |
| #define ULE 357
 | |
| #define UGE 358
 | |
| #define OEQ 359
 | |
| #define ONE 360
 | |
| #define OLT 361
 | |
| #define OGT 362
 | |
| #define OLE 363
 | |
| #define OGE 364
 | |
| #define ORD 365
 | |
| #define UNO 366
 | |
| #define UEQ 367
 | |
| #define UNE 368
 | |
| #define MALLOC 369
 | |
| #define ALLOCA 370
 | |
| #define FREE 371
 | |
| #define LOAD 372
 | |
| #define STORE 373
 | |
| #define GETELEMENTPTR 374
 | |
| #define TRUNC 375
 | |
| #define ZEXT 376
 | |
| #define SEXT 377
 | |
| #define FPTRUNC 378
 | |
| #define FPEXT 379
 | |
| #define BITCAST 380
 | |
| #define UITOFP 381
 | |
| #define SITOFP 382
 | |
| #define FPTOUI 383
 | |
| #define FPTOSI 384
 | |
| #define INTTOPTR 385
 | |
| #define PTRTOINT 386
 | |
| #define PHI_TOK 387
 | |
| #define SELECT 388
 | |
| #define VAARG 389
 | |
| #define EXTRACTELEMENT 390
 | |
| #define INSERTELEMENT 391
 | |
| #define SHUFFLEVECTOR 392
 | |
| #define GETRESULT 393
 | |
| #define EXTRACTVALUE 394
 | |
| #define INSERTVALUE 395
 | |
| #define SIGNEXT 396
 | |
| #define ZEROEXT 397
 | |
| #define NORETURN 398
 | |
| #define INREG 399
 | |
| #define SRET 400
 | |
| #define NOUNWIND 401
 | |
| #define NOALIAS 402
 | |
| #define BYVAL 403
 | |
| #define NEST 404
 | |
| #define READNONE 405
 | |
| #define READONLY 406
 | |
| #define GC 407
 | |
| #define DEFAULT 408
 | |
| #define HIDDEN 409
 | |
| #define PROTECTED 410
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 | |
| typedef union YYSTYPE
 | |
| #line 953 "/Volumes/Data/Code/work/llvm2/lib/AsmParser/llvmAsmParser.y"
 | |
| {
 | |
|   llvm::Module                           *ModuleVal;
 | |
|   llvm::Function                         *FunctionVal;
 | |
|   llvm::BasicBlock                       *BasicBlockVal;
 | |
|   llvm::TerminatorInst                   *TermInstVal;
 | |
|   llvm::Instruction                      *InstVal;
 | |
|   llvm::Constant                         *ConstVal;
 | |
| 
 | |
|   const llvm::Type                       *PrimType;
 | |
|   std::list<llvm::PATypeHolder>          *TypeList;
 | |
|   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::ParamList                        *ParamList;
 | |
| 
 | |
|   // Represent the RHS of PHI node
 | |
|   std::list<std::pair<llvm::Value*,
 | |
|                       llvm::BasicBlock*> > *PHIList;
 | |
|   std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
 | |
|   std::vector<llvm::Constant*>           *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;
 | |
|   llvm::APFloat                    *FPVal;
 | |
|   bool                              BoolVal;
 | |
| 
 | |
|   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 407 "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;
 | |
| 
 |