Thread overview
LDC 1.2.0 has been released!
Apr 23, 2017
Kai Nacke
Apr 24, 2017
Guillaume Piolat
Apr 25, 2017
Daniel N
Apr 25, 2017
Nordlöw
Apr 27, 2017
Jon Degenhardt
Apr 27, 2017
Jon Degenhardt
Apr 28, 2017
Jacob Carlborg
Apr 27, 2017
David Nadlinger
Apr 29, 2017
Johan Engelen
Apr 29, 2017
Jon Degenhardt
April 23, 2017
Hi everyone!

On behalf of the LDC team I announce the new 1.2.0 release!
It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.

Highlights of this release are the new frontend, support for LLVM 4.0, better cross-compiling support for floating points and a ton of fixes to increase robustness of the compiler. Be sure to read the change log at the GitHub release page for all the details. The packages are available for download at the same page.
https://github.com/ldc-developers/ldc/releases/tag/v1.2.0

MD5 checksums for the release packages:

68a19f08047c38518699351154ed156f  ldc-1.2.0-src.tar.gz
f9c36bdcc4a0f3502b3ba0d6b913cf3e  ldc2-1.2.0-freebsd-x86_64.tar.xz
a57072691c26ca32ad08fa981d5acaa6  ldc2-1.2.0-linux-x86.tar.xz
fa24f73702355a430677d85c9b0e3200  ldc2-1.2.0-linux-x86_64.tar.xz
6b97b2508233ecf35c2add95a2d81666  ldc2-1.2.0-osx-x86_64.tar.xz
fa298a80bdeb9eb8b7b71b8de1fef545  ldc2-1.2.0-win32-msvc.zip
be187180cec83003cc29ffba7e41032f  ldc2-1.2.0-win64-msvc.zip

Regarding the binaries:
The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x and LLVM 4.0.0. They work on Ubuntu 12.04 LTS (or later) without installing additional software.

The OS X binaries and the FreeBSD binaries are built with LLVM 4.0.0.

The Win32 and Win64 MSVC versions are built with VS2015 and LLVM 3.9.1 (due to a regression in LLVM 4.0).

Please be sure to report any bugs at https://github.com/ldc-developers/ldc/issues, and feel free to drop by at the digitalmars.D.ldc forums (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or comments.

Thanks to everybody involved in making this happen. Onward to 1.3.0!

Regards,
Kai

April 24, 2017
On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I announce the new 1.2.0 release!
> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.
>
> Highlights of this release are the new frontend, support for LLVM 4.0, better cross-compiling support for floating points and a ton of fixes to increase robustness of the compiler. Be sure to read the change log at the GitHub release page for all the details. The packages are available for download at the same page.
> https://github.com/ldc-developers/ldc/releases/tag/v1.2.0
>
> MD5 checksums for the release packages:
>
> 68a19f08047c38518699351154ed156f  ldc-1.2.0-src.tar.gz
> f9c36bdcc4a0f3502b3ba0d6b913cf3e  ldc2-1.2.0-freebsd-x86_64.tar.xz
> a57072691c26ca32ad08fa981d5acaa6  ldc2-1.2.0-linux-x86.tar.xz
> fa24f73702355a430677d85c9b0e3200  ldc2-1.2.0-linux-x86_64.tar.xz
> 6b97b2508233ecf35c2add95a2d81666  ldc2-1.2.0-osx-x86_64.tar.xz
> fa298a80bdeb9eb8b7b71b8de1fef545  ldc2-1.2.0-win32-msvc.zip
> be187180cec83003cc29ffba7e41032f  ldc2-1.2.0-win64-msvc.zip
>
> Regarding the binaries:
> The Linux x86/x86_64 binaries are built on Ubuntu 12.04 LTS with gcc 4.8.x and LLVM 4.0.0. They work on Ubuntu 12.04 LTS (or later) without installing additional software.
>
> The OS X binaries and the FreeBSD binaries are built with LLVM 4.0.0.
>
> The Win32 and Win64 MSVC versions are built with VS2015 and LLVM 3.9.1 (due to a regression in LLVM 4.0).
>
> Please be sure to report any bugs at https://github.com/ldc-developers/ldc/issues, and feel free to drop by at the digitalmars.D.ldc forums (http://forum.dlang.org/group/digitalmars.D.ldc) for any questions or comments.
>
> Thanks to everybody involved in making this happen. Onward to 1.3.0!
>
> Regards,
> Kai

Thanks.

Here are some results with testing audio processing x86 performance versus LDC 1.0 (1.1 would make ~1% faster binaries than 1.0).

* 32-bit

    LDC-1.0.0 x86
    Results:
     * minimum time: 214 ms => 98.7409 x real-time
     * median  time: 220 ms => 96.0479 x real-time
     * average time: 246.967 ms => 85.5603 x real-time

    LDC-1.2.0 x86
    Results:
     * minimum time: 175 ms => 120.746 x real-time
     * median  time: 177 ms => 119.382 x real-time
     * average time: 185.2 ms => 114.096 x real-time

    LDC-1.2.0 x86 with -ffast-math
    Results:
     * minimum time: 175 ms => 120.746 x real-time
     * median  time: 178 ms => 118.711 x real-time
     * average time: 192.033 ms => 110.036 x real-time
     => peak dB difference = -150.515 dB
     => RMS dB difference  = -212.253 dB

* 64-bit

    LDC-1.0.0 x86_64
    Results:
     * minimum time: 195 ms => 108.362 x real-time
     * median  time: 200.5 ms => 105.389 x real-time
     * average time: 206.533 ms => 102.311 x real-time

    LDC-1.2.0 x86_64
    Results:
     * minimum time: 174 ms => 121.44 x real-time
     * median  time: 176.5 ms => 119.72 x real-time
     * average time: 180.467 ms => 117.088 x real-time

    LDC-1.2.0 x86_64 with -ffast-math
     * minimum time: 170 ms => 124.297 x real-time
     * median  time: 172 ms => 122.852 x real-time
     * average time: 178.933 ms => 118.092 x real-time
     => peak dB difference = -inf dB
     => RMS dB difference  = -inf dB

Conclusion: for this particular benchmark, LDC 1.2.0 beats the former LDC with ~20% speed-up for 32-bit and ~10% for 64-bit. Very nice!
April 25, 2017
On Monday, 24 April 2017 at 16:15:40 UTC, Guillaume Piolat wrote:
> On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
> Conclusion: for this particular benchmark, LDC 1.2.0 beats the former LDC with ~20% speed-up for 32-bit and ~10% for 64-bit. Very nice!

Same for me, yay! :)
April 25, 2017
On Tuesday, 25 April 2017 at 07:58:18 UTC, Daniel N wrote:
>> On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
>> Conclusion: for this particular benchmark, LDC 1.2.0 beats the former LDC with ~20% speed-up for 32-bit and ~10% for 64-bit. Very nice!

Progress!
April 27, 2017
On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
> Hi everyone!
>
> On behalf of the LDC team I announce the new 1.2.0 release!
> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.

FYI - My travis-ci osx build started failing when travis switched to the LDC 1.2 release. I was using default 'osx' and 'ldc' setups. On travis, default osx setup is xcode 7.3. With this setup there were linker failures:

     error: Invalid bitcode version (Producer: '800.0.42.1_0' Reader: '703.0.31_0')

Changing the travis config to use xcode 8.2 solved the issue. I used 8.2 rather than 8.3 to avoid the 'pointer not aligned' messages that are generated with 8.3.

--Jon

April 27, 2017
On Thursday, 27 April 2017 at 21:38:19 UTC, Jon Degenhardt wrote:
> Changing the travis config to use xcode 8.2 solved the issue. I used 8.2 rather than 8.3 to avoid the 'pointer not aligned' messages that are generated with 8.3.

I should have indicated, the 'pointer not aligned' messages are when compiling with DMD, not LDC


April 27, 2017
Hi Jon,

On 27 Apr 2017, at 22:38, Jon Degenhardt via digitalmars-d-ldc wrote:
> FYI - My travis-ci osx build started failing when travis switched to the LDC 1.2 release. I was using default 'osx' and 'ldc' setups. On travis, default osx setup is xcode 7.3. With this setup there were linker failures

See https://github.com/ldc-developers/ldc/issues/2077.

If you have some time to look into this, we'd greatly appreciate any help.

 — David
April 28, 2017
On 2017-04-27 23:46, Jon Degenhardt wrote:

> I should have indicated, the 'pointer not aligned' messages are when
> compiling with DMD, not LDC

That is fixed now [1].

[1] https://github.com/dlang/dmd/pull/6721

-- 
/Jacob Carlborg
April 29, 2017
On Thursday, 27 April 2017 at 21:38:19 UTC, Jon Degenhardt wrote:
> On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
>> Hi everyone!
>>
>> On behalf of the LDC team I announce the new 1.2.0 release!
>> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.
>
> FYI - My travis-ci osx build started failing when travis switched to the LDC 1.2 release. I was using default 'osx' and 'ldc' setups. On travis, default osx setup is xcode 7.3. With this setup there were linker failures:
>
>      error: Invalid bitcode version (Producer: '800.0.42.1_0' Reader: '703.0.31_0')

This is now fixed: there is a new 1.2.0 package for Mac on Github now.

Creating LTO-built binary packages for Mac needs a little more work. :/

-Johan
April 29, 2017
On Saturday, 29 April 2017 at 10:50:38 UTC, Johan Engelen wrote:
> On Thursday, 27 April 2017 at 21:38:19 UTC, Jon Degenhardt wrote:
>> On Sunday, 23 April 2017 at 11:40:20 UTC, Kai Nacke wrote:
>>> Hi everyone!
>>>
>>> On behalf of the LDC team I announce the new 1.2.0 release!
>>> It is based on the 2.072.2 front-end and supports LLVM 3.5-4.0.
>>
>> FYI - My travis-ci osx build started failing when travis switched to the LDC 1.2 release. I was using default 'osx' and 'ldc' setups. On travis, default osx setup is xcode 7.3. With this setup there were linker failures:
>>
>>      error: Invalid bitcode version (Producer: '800.0.42.1_0' Reader: '703.0.31_0')
>
> This is now fixed: there is a new 1.2.0 package for Mac on Github now.
>
> Creating LTO-built binary packages for Mac needs a little more work. :/
>
> -Johan

Excellent, thank you!