bearophile, el 27 de mayo a las 15:55 me escribiste: > Christian Kamm: > > The release 0.9.1 of LDC, the LLVM based compiler for the D programming > > language, contains the following major improvements: > > Very good. I'll try this too. > > > > * turn GC allocations to allocas if possible > > Phobos1 of DMD too has alloca, so can this optimization be folded in DMD too?
I don't think so, they are D specific LLVM optimization passes, see: http://www.dsource.org/projects/ldc/browser/gen/passes > > * simplify or remove certain calls to D runtime functions > > What calls? >From what I saw in: http://www.dsource.org/projects/ldc/browser/gen/passes/SimplifyDRuntimeCalls.cpp - Remove libcall for arr.length = N if N <= arr.length - Remove libcall for cast(T[]) arr if it's safe to do so. - Remove libcall if the return value is unused. - Turn slice copies into llvm.memcpy when safe -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------------
