comparison gen/irstate.h @ 173:db9890b3fb64 trunk

[svn r189] moving IR data back into DMD frontend nodes
author ChristianK
date Tue, 06 May 2008 07:56:03 +0200
parents 3a891cfcd249
children 3aed08fb64f4
comparison
equal deleted inserted replaced
172:68a7dd38c03c 173:db9890b3fb64
1 #ifndef LLVMDC_GEN_IRSTATE_H 1 #ifndef LLVMDC_GEN_IRSTATE_H
2 #define LLVMDC_GEN_IRSTATE_H 2 #define LLVMDC_GEN_IRSTATE_H
3 3
4 #include <vector> 4 #include <vector>
5 #include <list> 5 #include <list>
6 #include <map>
7 6
8 #include "root.h" 7 #include "root.h"
9 #include "aggregate.h" 8 #include "aggregate.h"
10 9
11 #include "ir/irfunction.h" 10 #include "ir/irfunction.h"
12 #include "ir/irstruct.h" 11 #include "ir/irstruct.h"
13 #include "ir/irvar.h" 12 #include "ir/irvar.h"
14 #include "ir/irsymbol.h"
15 #include "ir/irtype.h"
16 13
17 // global ir state for current module 14 // global ir state for current module
18 struct IRState; 15 struct IRState;
19 extern IRState* gIR; 16 extern IRState* gIR;
20 extern const llvm::TargetData* gTargetData; 17 extern const llvm::TargetData* gTargetData;
78 llvm::Module* module; 75 llvm::Module* module;
79 76
80 // interface info type, used in DtoInterfaceInfoType 77 // interface info type, used in DtoInterfaceInfoType
81 llvm::StructType* interfaceInfoType; 78 llvm::StructType* interfaceInfoType;
82 79
83 // ir data associated with DMD Dsymbol nodes
84 std::map<Dsymbol*, IrDsymbol> irDsymbol;
85
86 // ir data associated with DMD Type instances
87 std::map<Type*, IrType> irType;
88
89 // functions 80 // functions
90 typedef std::vector<IrFunction*> FunctionVector; 81 typedef std::vector<IrFunction*> FunctionVector;
91 FunctionVector functions; 82 FunctionVector functions;
92 IrFunction* func(); 83 IrFunction* func();
93 84