comparison gen/irstate.h @ 988:2667e3a145be

- Fixed LLVM style CL args for D2. - Moved main() into its own file gen/main.cpp - Fixed basic cross compilation - removed the option for setting OS - added support for llc's mattr, mcpu and mtriple switches - added basic ABI abstraction for return value rewrites, it's not perfect and will probably be completely rewritten once I get to handling parameter rewrites as well. - x86-64 extern(C) abi for cfloat returns now match (llvm-)gcc.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Thu, 26 Feb 2009 14:11:49 +0100
parents 985104c0f1db
children 8c73ff5f69e0
comparison
equal deleted inserted replaced
987:73ff89728d85 988:2667e3a145be
11 11
12 #include "ir/irfunction.h" 12 #include "ir/irfunction.h"
13 #include "ir/irstruct.h" 13 #include "ir/irstruct.h"
14 #include "ir/irvar.h" 14 #include "ir/irvar.h"
15 15
16 namespace llvm {
17 class TargetMachine;
18 }
19
16 // global ir state for current module 20 // global ir state for current module
17 struct IRState; 21 struct IRState;
22 struct TargetABI;
23
18 extern IRState* gIR; 24 extern IRState* gIR;
25 extern llvm::TargetMachine* gTargetMachine;
19 extern const llvm::TargetData* gTargetData; 26 extern const llvm::TargetData* gTargetData;
27 extern TargetABI* gABI;
20 28
21 struct TypeFunction; 29 struct TypeFunction;
22 struct TypeStruct; 30 struct TypeStruct;
23 struct ClassDeclaration; 31 struct ClassDeclaration;
24 struct FuncDeclaration; 32 struct FuncDeclaration;