changeset | e1e93343fc11 |
---|---|
branch | |
bookmark | |
tag | |
user | Christian Kamm <kamm incasoftware de> |
description | Move function codegen data from IrFunction to new FuncGen. This change reduces memory consumption significantly by releasing the memory held by the STL containers that are now inside FuncGen. |
files |
changeset | 3f5ea912149d |
---|---|
branch | |
bookmark | |
tag | |
user | Christian Kamm <kamm incasoftware de> |
description | Fix #308 by giving finally code emitted by EnclosingTryFinally a different landing pad. |
files |
changeset | 5f340a6dc749 |
---|---|
branch | |
bookmark | |
tag | |
user | Frits van Bommel <fvbommel wxs.nl> |
description | Fix nested functions. My last patch was a little over-zealous in passing `undef`, it always passed `undef` to inner functions expecting a single context frame. |
files |
changeset | 033f18ec1371 |
---|---|
branch | |
bookmark | |
tag | |
user | Frits van Bommel <fvbommel wxs.nl> |
description | Unify %.frames_list and %.frame into a single data structure, generalizing r1212 to all frames instead of just the outer-most one. |
files |
changeset | df2227fdc860 |
---|---|
branch | |
bookmark | |
tag | |
user | Frits van Bommel <fvbommel wxs.nl> |
description | For the outermost function needing a context frame, use the address of that frame as the nest argument instead of the address of a single-element list containing only that frame address. This saves some stack space and reduces memory accesses. |
files |
changeset | 8699c450a1a0 |
---|---|
branch | |
bookmark | |
tag | |
user | Frits van Bommel <fvbommel wxs.nl> |
description | Implement -nested-ctx=hybrid |
files |
changeset | dc608dc33081 |
---|---|
branch | |
bookmark | |
tag | |
user | Christian Kamm <kamm incasoftware de> |
description | Make IrFuncTy a member of TypeFunction. Reset between modules compiled in the same LDC call. |
files |
changeset | 32ead42679d1 |
---|---|
branch | |
bookmark | |
tag | |
user | Frits van Bommel <fvbommel wxs.nl> |
description | Fix a bug in the X86 ABI. The size of a struct is different from the size of a pointer to that struct... |
files |
changeset | 45af482e3832 |
---|---|
branch | |
bookmark | |
tag | |
user | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
description | Updated ABI handling to be more flexible with regard to reusing lvalues and allocating fewer temporaries. |
files |
changeset | 9167d492cbc2 |
---|---|
branch | |
bookmark | |
tag | |
user | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
description | Abstracted more (most) ABI details out of the normal codegen. |
files |
changeset | 1714836f2c0b |
---|---|
branch | |
bookmark | |
tag | |
user | Christian Kamm <kamm incasoftware de> |
description | Mostly rewrite debug info generation in terms of llvm/Analysis/DebugInfo.h. Add getCompilationModule to Dsymbol and fix template compile unit decision code. Runtime compiles with -g again. |
files |
changeset | 2ebac4750adb |
---|---|
branch | |
bookmark | |
tag | |
user | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
description | Removed some dead code. Fixed assertion filenames for imported template instances. Fixes #152 . |
files |
changeset | df196c8dea26 |
---|---|
branch | |
bookmark | |
tag | |
user | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
description | 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! |
files |
changeset | c7d7e2282ba3 |
---|---|
branch | |
bookmark | |
tag | |
user | Christian Kamm <kamm incasoftware de> |
description | Make sure functions containing inline asm are never inlined to avoid duplicated labels. |
files |
changeset | a34078905d01 |
---|---|
branch | |
bookmark | |
tag | |
user | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
description | Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in. Reimplemented support for nested functions/class using a new approach. Added error on taking address of intrinsic. Fixed problems with the ->syntaxCopy of TypeFunction delegate exp. Removed DtoDType and replaced all uses with ->toBasetype() instead. Removed unused inplace stuff. Fixed a bunch of issues in the runtime unittests, not complete yet. Added mini tests. |
files |
changeset | d8357f7004ca |
---|---|
branch | trunk |
bookmark | |
tag | |
user | ChristianK |
description | [svn r376] Fix bug with finally blocks and labels. The labels would get emitted multiple times and conflict. It is now possible to add label scopes in IrFunction and all labels names will be prefixed accordingly. Also disallow goto into finally blocks. Fixes nocompile/finally_02 and others. |
files |
changeset | d59c363fccad |
---|---|
branch | trunk |
bookmark | |
tag | |
user | lindquist |
description | [svn r330] Implemented synchronized statements. Changed the tryfinally handlers to a more generalized EnclosingHandler. Changed ClassInfoS to be mutable so they can be used as locks. Added new BB after throw ala return/break etc. |
files |
changeset | e0b6040585b4 |
---|---|
branch | trunk |
bookmark | |
tag | |
user | lindquist |
description | [svn r223] Fixed: assert with message could be broken. Fixed: array length exp could fail on slice. |
files |
changeset | 9d44ec83acd1 |
---|---|
branch | trunk |
bookmark | |
tag | |
user | lindquist |
description | [svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 . Fixed: Implemented volatile statements. Uses the LLVM memory barrier intrinsic, closes #21 . |
files |
changeset | e881c9b1c738 |
---|---|
branch | trunk |
bookmark | |
tag | |
user | lindquist |
description | [svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 . Changed: removed the crappy realloc based dynamic memory runtime and started moving over to DMD style runtime support, part of moving to real GC. Fixed: dynamic arrays now use GC runtime for allocating memory. Fixed: new expression now use GC for allocating memory. Changed: revamped the dynamic array support routines related to dynamic memory. Fixed: assertions no longer create exsessive allocas. Changed: misc. minor cleanups. |
files |
changeset | 8f704cb9969b |
---|---|
branch | trunk |
bookmark | |
tag | |
user | ChristianK |
description | [svn r150] fixes #16 and #17, implements GotoCaseStatement |
files |
changeset | 0e28624814e8 |
---|---|
branch | trunk |
bookmark | |
tag | |
user | lindquist |
description | [svn r140] did a lot of the work towards being able to pass multiple modules on the command line. not complete yet though |
files |