log gen/llvmhelpers.cpp @ 1643:8f121883bce8

age author description
Mon, 08 Mar 2010 23:37:40 -0700 Kelly Wilson Apply patch from klickverbot. This is his 'proper fix' patch for bug #395.
Sat, 07 Nov 2009 14:06:11 +0100 Christian Kamm Make ref vars work with nesting.
Sat, 07 Nov 2009 13:51:05 +0100 Christian Kamm Fix codegen for foreach with ref value being lowered to for.
Fri, 14 Aug 2009 00:39:18 +0200 Benjamin Kramer IntegerType is now contextifed.
Fri, 31 Jul 2009 23:01:29 +0200 Benjamin Kramer getNullValue is in Constant again
Thu, 30 Jul 2009 15:25:10 +0200 Benjamin Kramer LLVMContext changes up to r77366
Tue, 28 Jul 2009 15:26:21 +0200 Benjamin Kramer getClosestStaticTargetForModule was replaced with lookupTarget
Sun, 26 Jul 2009 19:12:37 +0200 Tomas Lindquist Olsen Fixed potential crash with complex recursive struct types.
Wed, 15 Jul 2009 18:09:41 +0200 Benjamin Kramer More factory methods moved to LLVMContext
Mon, 13 Jul 2009 20:16:15 +0200 Benjamin Kramer Don't use llvm::getGlobalContext() anymore
Mon, 13 Jul 2009 12:17:58 +0200 Benjamin Kramer Build fix for the latest LLVMContext changes (LLVM r75445)
Fri, 26 Jun 2009 17:18:36 +0200 Christian Kamm Treat ConditionalDeclarations correctly in DtoDeclarationExp.
Sat, 20 Jun 2009 19:12:04 +0200 Christian Kamm Automated merge with http://hg.dsource.org/projects/ldc
Sat, 20 Jun 2009 19:11:44 +0200 Christian Kamm Move function codegen data from IrFunction to new FuncGen.
Thu, 18 Jun 2009 15:44:04 +0100 Robert Clipsham Added a stripModifiers() function to remove shared|const|immutable storage classes in D2 (should eventually be moved to a dhelpers file rather than llvm helpers).
Tue, 16 Jun 2009 08:57:20 -0600 Kelly Wilson fix problem reported in ticket 327 - thanks d0k
Sun, 07 Jun 2009 16:00:13 +0200 Frits van Bommel Run `semantic3` on imported modules, and emit new symbols with
Sat, 06 Jun 2009 20:16:13 +0200 Frits van Bommel Rewrite `StructLiteralExp::toElem` to store individual fields instead of
Sat, 06 Jun 2009 09:47:32 +0200 Christian Kamm Fix #318 by making a list of all seen template instances in a module for
Wed, 03 Jun 2009 04:12:28 +0200 Tomas Lindquist Olsen Make sure typeinfo output are mutable types, this is a temporary workaround to get druntime genobj.d to compile until we figure out what typeinfos are actually needed here and there ...
Wed, 03 Jun 2009 02:28:48 +0200 Tomas Lindquist Olsen D2:
Tue, 02 Jun 2009 18:41:10 +0200 Frits van Bommel Remove some unnecessary `#if`s. The D1 frontend has a Type::nextOf() which just
Sat, 30 May 2009 17:23:32 +0100 Robert Clipsham LDC 2 compiles again.
Sat, 23 May 2009 00:23:39 +0200 Christian Kamm Fix #308 by giving finally code emitted by EnclosingTryFinally a different landing pad.
Fri, 22 May 2009 21:38:01 +0200 Frits van Bommel Fix `scope(exit) foreach (ref v; arr) foo(v);`
Fri, 22 May 2009 10:17:47 +0200 Christian Kamm Fix bug #307 by doing what DMD does: add the arrayop to
Thu, 21 May 2009 10:56:04 +0200 Christian Kamm Tentative fix for semantic3 on imported modules and unnecessary template
Fri, 15 May 2009 17:05:35 +0200 Tomas Lindquist Olsen Enabled fix for ticket #294 . It will try it's best to let LLVM handle the alignment, and fall back to manual padding when that's not possible. If this causes problems again, we'll have to consistently pad manually using packed structs.
Fri, 15 May 2009 15:30:59 +0200 Tomas Lindquist Olsen Erm... Revert the rev [1352] change, the original code was correct ...
Thu, 14 May 2009 17:23:55 +0200 Tomas Lindquist Olsen Oups, fix assertion condition in disabled code from rev [1351].
Thu, 14 May 2009 17:20:17 +0200 Tomas Lindquist Olsen Initial (but disabled) fix for ticket #294 , the actual part that fixes the bug is in a #if 0 block as I'm afraid it will cause regressions. I'm most likely not going to be around tonight, and maybe not tomorrow as well, so I'm pushing it in case someone wants to run some serious testing/investigate the problem noted in llvmhelpers.cpp : realignOffset .
Thu, 14 May 2009 13:26:40 +0200 Tomas Lindquist Olsen Adds explicit alignment information for alloca instructions in general, there's a few cases that still needs to be looked at but this should catch the majority. Fixes ticket #293 .
Wed, 29 Apr 2009 18:59:39 +0200 Tomas Lindquist Olsen Fixed array operation codegen when used from imported templates. All array operations are now emitted with template linkage. Fixed #270 .
Wed, 29 Apr 2009 18:39:59 +0200 Tomas Lindquist Olsen Fixed file name in imported mixins containing assertions.
Mon, 27 Apr 2009 13:30:48 +0200 Tomas Lindquist Olsen Moved special casing of 'assert(this, "null this");' generated statements from !ThisExp into !AssertExp.
Wed, 22 Apr 2009 03:08:28 +0200 Tomas Lindquist Olsen Rewrote runtime struct literal codegen.
Wed, 15 Apr 2009 20:06:25 +0200 Tomas Lindquist Olsen Added Doxygen file.
Sun, 12 Apr 2009 13:08:24 +0200 Frits van Bommel Isolate all knowledge of what a function's nested context looks like in a
Sun, 12 Apr 2009 12:52:01 +0200 Frits van Bommel Reduce include-order dependencies
Thu, 02 Apr 2009 20:56:39 +0200 Christian Kamm Make sure debug info is only declared once per alloca.
Wed, 01 Apr 2009 00:01:44 +0200 Frits van Bommel Fix nested references to 'ref' foreach variables.
Sun, 29 Mar 2009 03:53:22 +0200 Frits van Bommel Another big-endian fix. (Don't lie to [s]printf...)
Sat, 28 Mar 2009 19:16:53 +0100 Christian Kamm Reenable error for gotos into or out of finally blocks.
Sat, 28 Mar 2009 05:00:43 +0100 Tomas Lindquist Olsen - Versioned Expresssion::toElem with #if IN_DMD/IN_LLVM.
Fri, 27 Mar 2009 21:50:32 +0100 Tomas Lindquist Olsen Eliminated the need for resolve, declare, const-init and define lists to drive code generation.
Fri, 27 Mar 2009 17:54:27 +0100 Tomas Lindquist Olsen Changed use of toObjFile to a new codegen method.
Thu, 26 Mar 2009 18:46:21 +0100 Tomas Lindquist Olsen Moved IRTargetScopeS from IRState into IrFunction, fixes #240 .
Tue, 24 Mar 2009 21:18:18 +0100 Christian Kamm Reorganize EnclosingHandlers to require less changes to the frontend and allow us to
Tue, 10 Mar 2009 11:30:51 +0100 Frits van Bommel Move "invalid intrinsic name" error to declaration, not instantiation.
Tue, 10 Mar 2009 04:45:32 +0100 Frits van Bommel Intrinsics overhaul:
Sun, 08 Mar 2009 16:21:56 +0100 Christian Kamm Improved template emission control for singleobj building.
Wed, 04 Mar 2009 23:17:32 +0100 Frits van Bommel Fix hasUnalignedFields(): take static arrays into account too.
Tue, 03 Mar 2009 15:08:26 +0100 Tomas Lindquist Olsen Added hasUnalignedFields helper to check if a type has unaligned fields - as per request from fvbommel. Result is cached in TypeStruct.
Sun, 01 Mar 2009 19:06:47 +0100 Tomas Lindquist Olsen Removed some code that wasn't supposed to be in last commit!
Sun, 01 Mar 2009 19:01:05 +0100 Tomas Lindquist Olsen - Fixed x86-32 C ABI for complex number return values.
Sat, 28 Feb 2009 22:16:52 +0100 Frits van Bommel Use llvm::CallSite instead of custom CallOrInvoke class.
Fri, 27 Feb 2009 19:41:25 +0100 Frits van Bommel Remove initialization of padding of reals, ireals and creals.
Thu, 26 Feb 2009 14:51:02 +0100 Frits van Bommel Use LLVM OStream wrapper instead of <iostream> in the logger.
Wed, 18 Feb 2009 22:50:22 +0100 Frits van Bommel Clean up the code generated when jumping out of inline asm and make label names more expressive.
Sun, 08 Feb 2009 21:44:46 +0100 Christian Kamm Revert templates to old behavior.
Sun, 08 Feb 2009 18:51:32 +0100 Christian Kamm Switch some getModule to getCompilationModule to make sure templates are
Sun, 08 Feb 2009 16:50:22 +0100 Christian Kamm Mostly rewrite debug info generation in terms of llvm/Analysis/DebugInfo.h.
Sun, 08 Feb 2009 05:26:54 +0100 Tomas Lindquist Olsen SWITCHED TO LLVM 2.5 !
Thu, 05 Feb 2009 18:17:42 +0100 Tomas Lindquist Olsen Reverted the template instantiation changes from rev [940]. Wasn't safe it seems :(
Wed, 04 Feb 2009 18:48:03 +0100 Tomas Lindquist Olsen Changed the way LDC determines if a template instantiation needs to get a definition, seems to speed up compile times quite a bit in some cases.
Wed, 04 Feb 2009 02:10:23 +0100 Tomas Lindquist Olsen Removed some dead code.
Wed, 04 Feb 2009 00:50:04 +0100 Tomas Lindquist Olsen Fixed problem with static ctors, in templated imported classes, not begin run. Fixes #203
Tue, 03 Feb 2009 08:54:57 +0100 Tomas Lindquist Olsen Implemented proper support for naked asm using llvm module level asm. Still not 100% complete, but already 1000 times better that what we had before. Don's BignumX86 implementation from Tango (when turned into a standalone unittest) seems to fully work with no changes, and great performance :)
Mon, 02 Feb 2009 01:44:51 +0100 Tomas Lindquist Olsen Changed templates and typeinfo to use linkonce linkage instead of weak linkage, this should fix inlining problems, fixing bug #197 . If problems show up, it's easy to change it back by changing the define in mars.h . I'm 95% sure this is safe, given how we handle templates.
Sat, 13 Dec 2008 06:48:00 +0100 Christian Kamm Only emit finalbody if there is one. Fixes #147.
Mon, 01 Dec 2008 04:37:54 +0100 Tomas Lindquist Olsen Fixed a nasty bug with how interface vtables for class initializers were output, causing some class fields to be skipped.
Sat, 29 Nov 2008 21:26:50 +0100 Tomas Lindquist Olsen Removed DtoConstFieldInitializer, it's no longer needed and was buggy.
Sat, 29 Nov 2008 17:06:36 +0100 Christian Kamm Use toParent instead of toParent2 to determine whether inside a function body.
Sat, 29 Nov 2008 21:25:43 +0100 Tomas Lindquist Olsen Removed KDevelop3 project files, CMake can generate them just fine!
Sat, 29 Nov 2008 12:28:10 +0100 Christian Kamm Error instead of assert when trying to build a default initializer for void[n].
Fri, 28 Nov 2008 21:24:08 +0100 Christian Kamm Fix warnings on x86-64. By fvbommel.
Sun, 23 Nov 2008 21:57:11 +0100 Christian Kamm Fix float->bool, #130. Thanks fvbommel.
Sat, 22 Nov 2008 18:35:52 +0100 Christian Kamm Get rid of DtoBoolean - use DtoCast(... Type::tbool) instead.
Tue, 18 Nov 2008 18:07:57 +0100 Christian Kamm Fix RawVarDecl double codegen bug. Thanks to downs for the testcase.
Tue, 11 Nov 2008 01:38:48 +0100 Tomas Lindquist Olsen Added initial D2 support, D2 frontend and changes to codegen to make things compile.
Mon, 10 Nov 2008 20:55:24 +0100 Christian Kamm Special case DtoCastInt for bool.
Sat, 01 Nov 2008 18:25:10 +0100 Tomas Lindquist Olsen Added DtoRawVarDeclaration routine to handle special variables in some statements.
Wed, 22 Oct 2008 21:50:08 +0200 Tomas Lindquist Olsen Implemented first class delegates. closes #101
Wed, 22 Oct 2008 14:55:33 +0200 Tomas Lindquist Olsen Removed TypeOpaque from DMD.
Thu, 16 Oct 2008 22:36:26 +0200 Christian Kamm Add missing case to DtoAssign for T[n] = T[]. Fixes downs' initializer bug.
Tue, 14 Oct 2008 13:21:14 +0200 Tomas Lindquist Olsen Fixed issue with accessing a WithStatement context from inside a nested function. see mini/with2.d
Sun, 12 Oct 2008 10:35:16 +0200 Christian Kamm Only allocate the module file name once. Fixes #90.
Wed, 08 Oct 2008 22:38:52 +0200 Tomas Lindquist Olsen Fixed dynamic array -> boolean. does (arr.ptr !is null) now instead of (arr.length != 0)
Mon, 06 Oct 2008 14:37:00 +0200 Tomas Lindquist Olsen Removed some checks for abstract llvm types that were too strict, a 'opaque* null' is a valid initializer... when structs in D can be just a forward reference.
Sun, 05 Oct 2008 11:47:47 +0200 Christian Kamm Fix VarDecls for tuples. Closes #99.
Thu, 02 Oct 2008 23:12:19 +0200 Christian Kamm Move check for access of context for nested class from backend into frontend.
Wed, 01 Oct 2008 23:17:14 +0200 Tomas Lindquist Olsen 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!
Wed, 01 Oct 2008 18:32:31 +0200 Tomas Lindquist Olsen Wrapped all the most potentially expensive logging calls in a conditional to only do work when actually requested.
Sun, 21 Sep 2008 14:45:41 +0200 Christian Kamm Backed out changeset 1b62222581fb
Sat, 20 Sep 2008 10:13:15 +0200 Christian Kamm Change bool type to i8
Fri, 12 Sep 2008 13:11:32 +0200 Christian Kamm Allow VarDecl inside AttributeDecl inside DeclExp.
Tue, 09 Sep 2008 16:49:47 -0700 Tomas Lindquist Olsen Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
Sun, 07 Sep 2008 17:44:25 -0700 Tomas Lindquist Olsen Fixed choosing default target machine without needing to link in targets.
Wed, 20 Aug 2008 19:01:56 +0200 Tomas Lindquist Olsen Fixed problem with parameterized intrinsics taking bools.
Wed, 20 Aug 2008 01:02:22 +0200 Tomas Lindquist Olsen Added support for overloaded intrinsics.
Wed, 13 Aug 2008 20:50:54 +0200 Christian Kamm Do not assert if there's a struct-this nested context.
Wed, 13 Aug 2008 15:43:34 +0200 Tomas Lindquist Olsen merge
Wed, 13 Aug 2008 15:43:13 +0200 Tomas Lindquist Olsen Fixed problems constant multidimensional static array initializers.
Tue, 12 Aug 2008 19:48:42 +0200 Christian Kamm Get rid of 'static function cannot access nested' error. It is caught again later.
Sun, 10 Aug 2008 08:37:38 +0200 Tomas Lindquist Olsen Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Thu, 07 Aug 2008 18:17:59 +0200 Christian Kamm Forgot return in DtoInitializer
Thu, 07 Aug 2008 18:15:27 +0200 Christian Kamm Move zero init of padding to DtoInitializer in order to respect void initializers.
Tue, 05 Aug 2008 20:23:44 +0200 Christian Kamm Use llvmdc helpers for store and bitcast in fp80 padding init code.
Tue, 05 Aug 2008 20:10:12 +0200 Christian Kamm Zero out padding of fp80.
Tue, 05 Aug 2008 19:28:19 +0200 Christian Kamm Move AllocaInst creation into DtoAlloca helper. Will enable special zero-init of fp80 reals' padding.
Mon, 04 Aug 2008 02:59:34 +0200 Tomas Lindquist Olsen Removed the 'needsstorage' thing from Dsymbol. Arguments are not always given storage when applicable. This is not longer treat specially
Sat, 02 Aug 2008 01:23:53 +0200 Tomas Lindquist Olsen Fixed regressions
Sat, 02 Aug 2008 00:50:39 +0200 Tomas Lindquist Olsen Fixed problems with nested 'this'. Fixes #39 .
Fri, 01 Aug 2008 17:59:58 +0200 Tomas Lindquist Olsen Changed the handling of variadic intrinsics a bit.
Thu, 31 Jul 2008 19:14:49 +0200 Christian Kamm Move DtoArrayBoundsCheck from llvmhelpers to arrays.
Wed, 30 Jul 2008 20:25:46 +0200 Christian Kamm Forgot a ->toBasetype() in the array bound code.
Wed, 30 Jul 2008 19:02:13 +0200 Christian Kamm Insert array bound checks for slices.
Wed, 30 Jul 2008 18:38:56 +0200 Christian Kamm Enable array bounds check and emit them in IndexExp.
Wed, 30 Jul 2008 10:12:55 +0200 Tomas Lindquist Olsen Added type param to DVarValue as DMD sometimes overrides the type of the VarDeclaration.
Wed, 30 Jul 2008 09:21:06 +0200 Christian Kamm Move DeclarationExp code into a helper function so it can call itself for template mixin members.