Tomas Lindquist Olsen
8b83eda2a2
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
...
Did a lot of smaller cleans up here and there.
Replaced more llvm::Foo with LLFoo for common stuff.
Split up tollvm.cpp.
2008-06-09 09:37:08 +02:00
Tomas Lindquist Olsen
e23169d5d8
[svn r260] Changed some of the LLVMDC specific code in the Tango core and did some minor cleanups.
2008-06-09 03:02:14 +02:00
Tomas Lindquist Olsen
951657ccdc
[svn r259] Enabled ASM for the GC, this closes #45 by saving the registers on the stack.
2008-06-09 02:05:02 +02:00
Tomas Lindquist Olsen
d939ce7ef6
[svn r258] Fixed: we were passing static arrays by value.
2008-06-09 00:28:02 +02:00
Tomas Lindquist Olsen
4a2d8494a6
[svn r257] Fixed: array .sort and .reverse runtime code was incorrect.
...
Fixed: most runtime calls did not get correct param attrs.
2008-06-09 00:01:10 +02:00
Tomas Lindquist Olsen
306ebfca83
[svn r256] AsmBlockStatement was still being flattened in some cases.
...
Function parameters passed as arguments to inline asm was not given storage.
2008-06-08 22:07:10 +02:00
Christian Kamm
1da2bbda9d
[svn r255] added dstress results for [254]
2008-06-08 21:23:09 +02:00
Tomas Lindquist Olsen
6ededdd9e3
[svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
...
Tried adding a stack trace print when compiler crashes, not sure it's working though.
Changed data layouts to match that of llvm-gcc.
Fixed casting function pointers.
Added support checks in AsmStatement.
2008-06-08 19:09:24 +02:00
Christian Kamm
c1d240582d
[svn r252] added warnings about using an up to date runtime
2008-06-08 18:20:48 +02:00
Christian Kamm
2f590b41e3
[svn r251] fixed arguments checking in runtest script
2008-06-08 12:06:22 +02:00
Tomas Lindquist Olsen
28382e3567
[svn r250] Fixed the warning about dropping arguments to _Dmain when optimizing.
...
Did a few cleanups in inline asm code.
2008-06-08 08:03:19 +02:00
Tomas Lindquist Olsen
68d7827d35
[svn r249] Changed inline asm clobbers to a set instead of a list so we don't get duplicate clobbers.
2008-06-08 06:45:54 +02:00
Tomas Lindquist Olsen
fd8cec14e1
[svn r248] Fixed: labels in inline asm block now work for the normal case.
...
Fixed: inline asm blocks are now emitted as a single asm entity.
2008-06-08 06:15:51 +02:00
Tomas Lindquist Olsen
3e62d80b4f
[svn r247] fixed accessing global symbols from inline asm.
2008-06-08 01:07:58 +02:00
Tomas Lindquist Olsen
61fdcc7040
[svn r246] fixed asm4 test
2008-06-07 21:38:14 +02:00
Tomas Lindquist Olsen
187d6523e3
[svn r245] initial support for labels in inline asm, broken :/
2008-06-07 21:31:38 +02:00
Tomas Lindquist Olsen
c91aea5c66
[svn r244] added another asm test.
2008-06-07 19:20:15 +02:00
Tomas Lindquist Olsen
27634ea5b6
[svn r243] fixed inline asm arg_pointer args hopefully.
2008-06-07 19:19:30 +02:00
Tomas Lindquist Olsen
1af9e9814a
[svn r242] fixed (I think) arg_pointer inline asm args
2008-06-07 19:04:26 +02:00
Tomas Lindquist Olsen
47ac84b223
[svn r241] Fixed missing terminator for void main() with inline asm block.
2008-06-06 22:30:31 +02:00
Christian Kamm
cf4d71b02c
[svn r240] do not crash on zero length constraints string
2008-06-06 22:04:41 +02:00
Christian Kamm
54b7134d78
[svn r239] also use indirect modifier for update constraints
2008-06-06 21:51:40 +02:00
Christian Kamm
5ee938ab0a
[svn r238] use *m for memory input constraints and pass in their address
2008-06-06 21:44:17 +02:00
Tomas Lindquist Olsen
b917fe2f00
[svn r237] some inline asm output now seems to work, see tangotests/asm2.d
2008-06-06 20:51:43 +02:00
Tomas Lindquist Olsen
346d04aa8a
[svn r236] added initial codegen of inline asm, pretty buggy and incomplete still. see the tangotests/asm1.d test for a sample of what does
...
work!
2008-06-06 20:14:51 +02:00
Christian Kamm
68d5150c1b
[svn r235] rough port of GDC's inline assembler code, unfinished
2008-06-05 19:22:37 +02:00
Tomas Lindquist Olsen
d72ed8f5eb
[svn r234] Fixed: missed a few bogus #ifs in last revision.
2008-06-05 06:43:34 +02:00
Tomas Lindquist Olsen
d03c3a7757
[svn r233] Added: -oq command line option for writing fully qualified object names.
...
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
2008-06-05 06:38:36 +02:00
Tomas Lindquist Olsen
1a41b9ef12
[svn r232] Added dstress test results for rev [231] .
2008-06-03 22:32:59 +02:00
Tomas Lindquist Olsen
590d44d302
[svn r231] Changed: warnings are no longer treated as an error.
...
Added some comments and cleaned up CallExp::toElem a tiny bit.
Fixed: struct literals always reported inplace assignment even if they allocated a temporary.
Fixed: passing stuff to a D-style vararg which did inplace assignment was generated suboptimal code.
2008-06-03 13:51:09 +02:00
Tomas Lindquist Olsen
d50cb50aaf
[svn r230] Added vararg3 sample tangotest.
2008-05-30 19:32:56 +02:00
Tomas Lindquist Olsen
b4bb3aaec4
[svn r229] Updated the object.d implementation to the latest Tango.
...
Fixed a bunch of the built-in typeinfos for arrays, they did not inherit TypeInfo_Array.
Applied patch to tango/text/convert/Layout.d by fvbommel, closes #47 .
Cleaned up some type code.
Replaced uses of llvm::Type with LLType (a typedef), same for Value and Constant.
Fixed a few cases where typeinfo for user structs could be emitted multiple times, seems to still be some cases of this :/
2008-05-30 19:32:04 +02:00
Tomas Lindquist Olsen
0b479b5749
[svn r228] Fixed: when new'ing basic types, the storage was not default initialized.
...
Fixed: the tango/lib/compiler/llvmdc/llvmdc.mak makefile was a bit incorrect.
Changed: the basic gc is now the default.
Changed: renamed a few temporary names in the LLVM IR output.
2008-05-27 22:14:24 +02:00
Tomas Lindquist Olsen
6b735db510
[svn r227] Fixed: crash in lifetime.d when resizing array of AAs by .length assignment.
2008-05-27 19:53:29 +02:00
Tomas Lindquist Olsen
a954f06e90
[svn r226] Fixed: deleting interface.
...
Removed: unused util function for calling class destructors.
2008-05-14 02:00:23 +02:00
Tomas Lindquist Olsen
19748f09ec
[svn r225] Fixed: delete expressions no longer use llvm's free instruction, which crashes on a GC provided pointer.
2008-05-14 01:22:40 +02:00
Christian Kamm
bcc112e37f
[svn r224] clean up temporaries after dstress has run
2008-05-13 21:41:25 +02:00
Tomas Lindquist Olsen
1eb35898c6
[svn r223] Fixed: assert with message could be broken.
...
Fixed: array length exp could fail on slice.
2008-05-13 21:40:39 +02:00
Tomas Lindquist Olsen
39ed86269e
[svn r222] Forgot to remove volatile ATTENTION.
...
Fixed a few comment types.
Forgot to add makefile for the basic GC.
2008-05-13 18:07:03 +02:00
Tomas Lindquist Olsen
3365b4c02f
[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 .
2008-05-13 17:58:11 +02:00
Tomas Lindquist Olsen
0d96635e19
[svn r220] Added: test results for [219]
2008-05-13 16:16:50 +02:00
Tomas Lindquist Olsen
c380f43929
[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.
2008-05-13 14:42:09 +02:00
Tomas Lindquist Olsen
2912480136
[svn r218] Added test results for [217]
2008-05-12 23:49:07 +02:00
Tomas Lindquist Olsen
c571bf0f70
[svn r217] Updated: the rebuild profiles.
...
Fixed: way to find class data fields was too strict type wise.
Fixed: foreach resulting in an implicit delegate could fail.
2008-05-12 22:44:25 +02:00
Christian Kamm
ee551c95b9
[svn r216] don't crash on foreach over zero-length static array
2008-05-12 22:27:05 +02:00
Christian Kamm
94e4a5b5a1
[svn r215] fix for empty class vtbl
2008-05-12 21:08:33 +02:00
Christian Kamm
77b4800c27
[svn r214] test results for [210]
2008-05-12 20:28:44 +02:00
Tomas Lindquist Olsen
941e36fa47
[svn r213] Fixed: foreach on an object seems to have been broken, the issue was that DMD generates an implicit delegate with conflicting types for 'this'.
...
Fixed: string switch runtime support had wrong param types.
Fixed: string switch on a temporary slice was broken.
2008-05-12 20:02:52 +02:00
Tomas Lindquist Olsen
300fb29905
[svn r212] Updated the readme (said llvm 2.1)
2008-05-12 19:10:41 +02:00
Tomas Lindquist Olsen
1742d02e54
[svn r211] Added readme in phobos dir.
2008-05-12 19:08:22 +02:00