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)
----------------------------------------------------------------------------

Reply via email to