Mercurial > projects > ldc
annotate gen/llvm.h @ 1463:a5526b7a5ae6
D2:
Applied function type from D1 frontend that got removed in D2, it's critical for member function type to be correct.
Fixed a bunch of type discrepancies in druntime object.di vs. genobj.d .
Disabled (#if 0) some potentally very large type dumps for -vv .
Updated classinfo and typeinfo generation for D2, almost complete now.
Added finer grained checks for vtbl type mismatching, aids debugging.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Wed, 03 Jun 2009 02:28:48 +0200 |
parents | 8c73ff5f69e0 |
children | 8ca25bd765a3 |
rev | line source |
---|---|
40 | 1 #ifndef GEN_LLVM_H |
2 #define GEN_LLVM_H | |
3 | |
4 #include "llvm/Type.h" | |
5 #include "llvm/DerivedTypes.h" | |
6 #include "llvm/Constants.h" | |
7 #include "llvm/IntrinsicInst.h" | |
8 #include "llvm/CallingConv.h" | |
9 #include "llvm/GlobalVariable.h" | |
10 #include "llvm/Function.h" | |
11 #include "llvm/Module.h" | |
43 | 12 #include "llvm/Value.h" |
632
df196c8dea26
Updated to latest LLVM trunk, function notes have been removed and merged with parameter attributes, which have been renamed to just attributes. Nothing seems to have broke!
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
629
diff
changeset
|
13 #include "llvm/Attributes.h" |
40 | 14 |
15 #include "llvm/Target/TargetData.h" | |
16 | |
946
1714836f2c0b
Mostly rewrite debug info generation in terms of llvm/Analysis/DebugInfo.h.
Christian Kamm <kamm incasoftware de>
parents:
653
diff
changeset
|
17 #include "llvm/Analysis/DebugInfo.h" |
1714836f2c0b
Mostly rewrite debug info generation in terms of llvm/Analysis/DebugInfo.h.
Christian Kamm <kamm incasoftware de>
parents:
653
diff
changeset
|
18 |
1013
8c73ff5f69e0
Use llvm::CallSite instead of custom CallOrInvoke class.
Frits van Bommel <fvbommel wxs.nl>
parents:
946
diff
changeset
|
19 #include "llvm/Support/CallSite.h" |
8c73ff5f69e0
Use llvm::CallSite instead of custom CallOrInvoke class.
Frits van Bommel <fvbommel wxs.nl>
parents:
946
diff
changeset
|
20 |
205
9d44ec83acd1
[svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 .
lindquist
parents:
43
diff
changeset
|
21 #include "llvm/Support/IRBuilder.h" |
9d44ec83acd1
[svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 .
lindquist
parents:
43
diff
changeset
|
22 using llvm::IRBuilder; |
40 | 23 |
629
607b6b5819a7
Fixed issue with IsExpression and potential type mismatch for classes.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
445
diff
changeset
|
24 // for WriteTypeSymbolic |
607b6b5819a7
Fixed issue with IsExpression and potential type mismatch for classes.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
445
diff
changeset
|
25 #include "llvm/Assembly/Writer.h" |
607b6b5819a7
Fixed issue with IsExpression and potential type mismatch for classes.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
445
diff
changeset
|
26 |
213
7816aafeea3c
[svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents:
205
diff
changeset
|
27 #define GET_INTRINSIC_DECL(_X) (llvm::Intrinsic::getDeclaration(gIR->module, llvm::Intrinsic:: _X )) |
7816aafeea3c
[svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents:
205
diff
changeset
|
28 |
244
a95056b3c996
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents:
213
diff
changeset
|
29 // shortcuts for the common llvm types |
a95056b3c996
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents:
213
diff
changeset
|
30 |
309 | 31 #define LLType llvm::Type |
32 #define LLFunctionType llvm::FunctionType | |
33 #define LLPointerType llvm::PointerType | |
34 #define LLStructType llvm::StructType | |
35 #define LLArrayType llvm::ArrayType | |
36 #define LLIntegerType llvm::IntegerType | |
37 #define LLOpaqueType llvm::OpaqueType | |
244
a95056b3c996
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents:
213
diff
changeset
|
38 |
309 | 39 #define LLValue llvm::Value |
40 #define LLGlobalValue llvm::GlobalValue | |
41 #define LLGlobalVariable llvm::GlobalVariable | |
42 #define LLFunction llvm::Function | |
244
a95056b3c996
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents:
213
diff
changeset
|
43 |
309 | 44 #define LLConstant llvm::Constant |
45 #define LLConstantStruct llvm::ConstantStruct | |
46 #define LLConstantArray llvm::ConstantArray | |
47 #define LLConstantInt llvm::ConstantInt | |
445
cc40db549aea
Changed the handling of variadic intrinsics a bit.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
309
diff
changeset
|
48 #define LLConstantFP llvm::ConstantFP |
244
a95056b3c996
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents:
213
diff
changeset
|
49 |
309 | 50 #define LLPATypeHolder llvm::PATypeHolder |
213
7816aafeea3c
[svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents:
205
diff
changeset
|
51 |
1013
8c73ff5f69e0
Use llvm::CallSite instead of custom CallOrInvoke class.
Frits van Bommel <fvbommel wxs.nl>
parents:
946
diff
changeset
|
52 #define LLCallSite llvm::CallSite |
8c73ff5f69e0
Use llvm::CallSite instead of custom CallOrInvoke class.
Frits van Bommel <fvbommel wxs.nl>
parents:
946
diff
changeset
|
53 |
213
7816aafeea3c
[svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents:
205
diff
changeset
|
54 #define LLSmallVector llvm::SmallVector |
7816aafeea3c
[svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents:
205
diff
changeset
|
55 |
653
5812d6fac0f0
Fix x86_fp80 constants.
Christian Kamm <kamm incasoftware de>
parents:
632
diff
changeset
|
56 using llvm::APFloat; |
5812d6fac0f0
Fix x86_fp80 constants.
Christian Kamm <kamm incasoftware de>
parents:
632
diff
changeset
|
57 using llvm::APInt; |
445
cc40db549aea
Changed the handling of variadic intrinsics a bit.
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
309
diff
changeset
|
58 |
40 | 59 #endif // GEN_LLVM_H |