David Nadlinger
9df487edff
gen/ir: clang-tidy the world
2015-11-02 11:30:40 +02:00
David Nadlinger
44b0f7b615
driver/gen/ir: clang-format the world
...
This uses the LLVM style, which makes sense for sharing code
with other LLVM projects. The DMD code we use will soon all
be in D anyway.
2015-11-02 00:28:01 +02:00
Martin
60d676e2a1
Drop support for LLVM < 3.5
...
This allows to clean up the code a little.
2015-10-30 22:24:05 +01:00
David Nadlinger
0922254dd1
Directly emit IR into same llvm::Module instead of using Linker
...
GitHub: Fixes #970 .
2015-06-14 21:36:35 +02:00
Kai Nacke
57103829bb
Merge branch 'master' into merge-2.067
2015-06-05 14:03:17 +02:00
Kai Nacke
95c897ab3e
DebugInfo: Use location of variable declaration instead of current stop point.
...
There might be no valid stop point but the variable should always have a
location. This fixes an ICE compiling core.demangle.
2015-06-05 13:04:30 +02:00
Kai Nacke
5523330115
Merge branch 'master' into merge-2.067
2015-06-05 00:18:10 +02:00
Kai Nacke
7e82631b94
Revert "DebugInfo: Use DebugLoc::get() for declaration of variable."
...
This reverts commit 3bab8306aa
.
2015-06-05 00:16:48 +02:00
Kai Nacke
cddb59f7b7
Merge branch 'master' into merge-2.067
2015-06-04 22:02:52 +02:00
Kai Nacke
3bab8306aa
DebugInfo: Use DebugLoc::get() for declaration of variable.
2015-06-04 22:00:54 +02:00
Kai Nacke
45ec6a0512
Merge branch 'master' into merge-2.067
2015-06-04 19:07:28 +02:00
Kai Nacke
0f86de548c
DebugInfo: EmitStopPoint() now has a Loc parameter.
2015-06-04 19:04:23 +02:00
Kai Nacke
131529ecc8
Merge branch 'master' into merge-2.067
2015-06-04 18:02:15 +02:00
Kai Nacke
3b363a1b08
DebugInfo: Add more flags and other refinements.
...
In D all functions are prototyped. Mark the hidden this pointer with
flag ObjectPointer. Also add a column for a lexical block start.
2015-06-04 18:00:24 +02:00
Kai Nacke
fe2b9d445d
Merge branch 'master' into merge-2.067
2015-06-04 16:24:31 +02:00
Kai Nacke
15b1ee1576
DebugInfo: Output the underlying delegate for lazy parameters.
...
This fixes issue #959 .
2015-06-04 15:09:29 +02:00
Kai Nacke
f029c9b9af
Merge branch 'master' into merge-2.067
...
Conflicts:
gen/dibuilder.cpp
gen/dibuilder.h
2015-05-01 11:28:47 +02:00
kai
6ab801361a
LLVM 3.7: Debug info classes changed again.
...
The solution is to use a typedef to hide the differences in most cases.
2015-04-30 22:43:31 +02:00
kai
770bdd2edd
Merge branch 'master' into merge-2.067
2015-04-22 21:57:31 +02:00
Martin
fdd449c4e5
LLVM 3.7: Metadata refactoring continues
2015-04-22 12:17:42 +02:00
Kai Nacke
a5cc02235d
Merge branch 'master' into merge-2.067
2015-04-17 23:38:01 +02:00
Kai Nacke
7591a31df9
LLVM 3.7: Again more metadata changes.
2015-04-17 23:37:09 +02:00
Kai Nacke
c334096281
Merge branch 'master' into merge-2.067
2015-04-17 23:04:26 +02:00
Kai Nacke
31c3195511
LLVM 3.7: More metadata changes.
...
The accessible flags moved into a new class.
Same is true for subroutine type.
2015-04-17 23:02:27 +02:00
Kai Nacke
c9a404be46
Merge branch 'master' into merge-2.067
...
Conflicts:
gen/module.cpp
2015-04-10 08:59:15 +02:00
Kai Nacke
76a34f2e35
LLVM 3.7: More metadata changes
2015-04-09 22:14:12 +02:00
kai
c39c7e9c35
Update to DMD v2.067.0-b2
...
Includes all tagged with v2.067.0-b2. Does not includes latest druntime changes from ldc (head) branch.
This is known to be broken. I only merged the frontend stuff but did not try to compile something...
2015-02-24 22:16:17 +01:00
kai
e73a7f2e23
Several updates to debug info generation.
...
- Do not create debug info after we called finalize.
- Clean up debug info generation for module ctor/dtor.
- Rename EmitSubProgramInternal() to EmitModuleCTor().
- Remove unused parameter from CreateTypeDescription().
2015-02-22 21:10:28 +01:00
kai
06d9c081ca
DebugInfo: Add accessibility to member types.
...
This removes a FIXME in dibuilder.
2015-02-08 12:51:27 +01:00
kai
441c98532c
Add changes related to the llvm::Metadata refactoring in LLVM 3.6.
...
In LLVM 3.6, the llvm::Metadata hierarchy is distinct from the llvm::Value hierarchy.
This refactoring causes several changes.
2014-12-25 19:02:15 +01:00
kai
b3e239a527
Fix generation of DWARF debug information in LLVM 3.6.
...
The creation of complex expressions (e.g. address calculations) was extended in LLVM 3.6.
2014-10-12 12:40:31 +02:00
Alexey Prokhin
18f33b1815
Make IrDsymbol to be a typesafe union to reduce memory usage
2014-09-12 14:43:49 +04:00
kai
45fca1f3b5
Add line number to error message of -nogc switch.
...
This was suggested by bearophile in the news group.
It also changes all Loc objects to be passed by reference.
2014-07-04 07:15:05 +02:00
kai
2f2fa92df3
Fix includes for LLVM 3.5
2014-03-07 06:40:39 +01:00
David Nadlinger
cb341586e3
First merge of 2.064 beta.
...
This corresponds to DMD commit a913ce4bc59a94a022a27e390fc841f4aededffb.
Doesn't build Phobos yet.
2013-10-29 19:21:15 +01:00
kai
e0288564a8
Fix annoying clang warning about missing newline
2013-09-11 06:56:08 +02:00
kai
6bd78496a1
Preliminary fix for debug info generation with LLVM 3.4.
...
There is no debug information generated for several types.
As LLVM 3.4 does not support empty nodes, it is now time to
implement the missing debug info.
2013-08-20 07:47:12 +02:00
kai
c28c7fb134
Introduce a debug info builder.
...
Moves all code from todebug into a new class.
Also caches the compilation unit in order to fix a LLVM 3.4 compile error.
2013-07-29 00:04:08 +02:00