2 llvm::Module *ModuleVal;
3 llvm::Function *FunctionVal;
4 llvm::BasicBlock *BasicBlockVal;
5 llvm::TerminatorInst *TermInstVal;
6 llvm::Instruction *InstVal;
7 llvm::Constant *ConstVal;
9 const llvm::Type *PrimType;
10 std::list<llvm::PATypeHolder> *TypeList;
11 llvm::PATypeHolder *TypeVal;
12 llvm::Value *ValueVal;
13 std::vector<llvm::Value*> *ValueList;
14 llvm::ArgListType *ArgList;
15 llvm::TypeWithAttrs TypeWithAttrs;
16 llvm::TypeWithAttrsList *TypeWithAttrsList;
17 llvm::ValueRefList *ValueRefList;
19 // Represent the RHS of PHI node
20 std::list<std::pair<llvm::Value*,
21 llvm::BasicBlock*> > *PHIList;
22 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
23 std::vector<llvm::Constant*> *ConstVector;
25 llvm::GlobalValue::LinkageTypes Linkage;
26 llvm::GlobalValue::VisibilityTypes Visibility;
28 llvm::APInt *APIntVal;
36 std::string *StrVal; // This memory must be deleted
39 llvm::Instruction::BinaryOps BinaryOpVal;
40 llvm::Instruction::TermOps TermOpVal;
41 llvm::Instruction::MemoryOps MemOpVal;
42 llvm::Instruction::CastOps CastOpVal;
43 llvm::Instruction::OtherOps OtherOpVal;
44 llvm::ICmpInst::Predicate IPredicate;
45 llvm::FCmpInst::Predicate FPredicate;
47 #define ESINT64VAL 257
48 #define EUINT64VAL 258
49 #define ESAPINTVAL 259
50 #define EUAPINTVAL 260
51 #define LOCALVAL_ID 261
52 #define GLOBALVAL_ID 262
66 #define STRINGCONSTANT 276
67 #define ATSTRINGCONSTANT 277
68 #define PCTSTRINGCONSTANT 278
69 #define ZEROINITIALIZER 279
81 #define THREAD_LOCAL 291
92 #define EXTERN_WEAK 302
103 #define SIDEEFFECT 313
106 #define FASTCC_TOK 316
107 #define COLDCC_TOK 317
108 #define X86_STDCALLCC_TOK 318
109 #define X86_FASTCALLCC_TOK 319
110 #define DATALAYOUT 320
116 #define UNREACHABLE 326
159 #define GETELEMENTPTR 369
175 #define EXTRACTELEMENT 385
176 #define INSERTELEMENT 386
177 #define SHUFFLEVECTOR 387
189 #define PROTECTED 399
192 extern YYSTYPE llvmAsmlval;