Re: LDC 1.12.0

2018-10-19 Thread jmh530 via Digitalmars-d-announce

On Friday, 19 October 2018 at 10:03:17 UTC, jmh530 wrote:
On Friday, 19 October 2018 at 02:18:38 UTC, Shigeki Karita 
wrote:

[snip]
https://github.com/jmmartinez/easy-just-in-time/blob/master/doc/slides/cppcon'18.pdf


Thanks for those!


I'm a little confused about using the jit in run.dlang.org 
(copying that simple example over). It doesn't seem to work 
(adding assert(0); as the first line after main does 
nothing)...maybe that's because it is using rldc?

https://run.dlang.io/is/Xd5WZ4


Re: LDC 1.12.0

2018-10-19 Thread jmh530 via Digitalmars-d-announce

On Friday, 19 October 2018 at 02:18:38 UTC, Shigeki Karita wrote:

[snip]
https://github.com/jmmartinez/easy-just-in-time/blob/master/doc/slides/cppcon'18.pdf


Thanks for those!


Re: LDC 1.12.0

2018-10-18 Thread Shigeki Karita via Digitalmars-d-announce

On Friday, 19 October 2018 at 02:13:15 UTC, Shigeki Karita wrote:

On Sunday, 14 October 2018 at 22:16:47 UTC, jmh530 wrote:

On Saturday, 13 October 2018 at 16:05:31 UTC, kinke wrote:

* New, Easy::jit-like interface for dynamic/JIT compilation.


I'm not familiar with Easy::jit. Would it make sense to do 
some kind of simple tutorial? Or maybe blog post?


I'm also interested in the new JIT. I found some useful links

- LLVM based C++ JIT library 
https://github.com/jmmartinez/easy-just-in-time
- LDC's doc 
https://github.com/ldc-developers/ldc/tree/master/docs
- LDC's some simple test snippets 
https://github.com/ldc-developers/ldc/blob/master/tests/dynamiccompile/simple.d


https://github.com/jmmartinez/easy-just-in-time/blob/master/doc/slides/cppcon'18.pdf


Re: LDC 1.12.0

2018-10-18 Thread Shigeki Karita via Digitalmars-d-announce

On Sunday, 14 October 2018 at 22:16:47 UTC, jmh530 wrote:

On Saturday, 13 October 2018 at 16:05:31 UTC, kinke wrote:

* New, Easy::jit-like interface for dynamic/JIT compilation.


I'm not familiar with Easy::jit. Would it make sense to do some 
kind of simple tutorial? Or maybe blog post?


I'm also interested in the new JIT. I found some useful links

- LLVM based C++ JIT library 
https://github.com/jmmartinez/easy-just-in-time

- LDC's doc https://github.com/ldc-developers/ldc/tree/master/docs
- LDC's some simple test snippets 
https://github.com/ldc-developers/ldc/blob/master/tests/dynamiccompile/simple.d


Re: LDC 1.12.0

2018-10-14 Thread jmh530 via Digitalmars-d-announce

On Saturday, 13 October 2018 at 16:05:31 UTC, kinke wrote:

* New, Easy::jit-like interface for dynamic/JIT compilation.


I'm not familiar with Easy::jit. Would it make sense to do some 
kind of simple tutorial? Or maybe blog post?


LDC 1.12.0

2018-10-13 Thread kinke via Digitalmars-d-announce

Glad to announce LDC 1.12:

* Based on D 2.082.1.
* Support for LLVM 7, which is used for the prebuilt packages.
  Due to an LLVM 7.0.0 regression, the prebuilt x86[_64] LDC 
binaries

  require a CPU with SSSE3.
* LTO working for Win64 targets.
* IR-based PGO working for Windows targets.
* New, Easy::jit-like interface for dynamic/JIT compilation.
* Experimental support for Android/x86_64.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.12.0


Thanks to all contributors!


Re: LDC 1.12.0-beta2 (based on LLVM 7)

2018-09-30 Thread kinke via Digitalmars-d-announce

On Sunday, 30 September 2018 at 12:31:20 UTC, Dennis wrote:

"LTO now basically working for Win64 too"
That's great! Why the "basically"?


Just a precaution as it hasn't been tested extensively yet; 
Guillaume Piolat (p0nce) successfully tested it with his 
commercial codebase though, so it's looking good.



* New, Easy::jit-like interface for dynamic/JIT compilation.


What are the applications of that? Is there a code sample I can 
check out?


The linked PR contains some tests, but they aren't showcases. The 
dynamic compilation feature per se isn't new; its main 
application is probably for a bunch of hot key functions, 
compiling them at runtime to fully exploit the CPU's instruction 
set (and having the ability to treat some variables as const for 
these functions). You may want to contact Ivan Butygin 
(Hardcode84) for more infos, this feature is exclusively his 
baby. :)


Re: LDC 1.12.0-beta2 (based on LLVM 7)

2018-09-30 Thread Dennis via Digitalmars-d-announce

"LTO now basically working for Win64 too"
That's great! Why the "basically"?

On Saturday, 29 September 2018 at 19:00:09 UTC, kinke wrote:

* New, Easy::jit-like interface for dynamic/JIT compilation.


What are the applications of that? Is there a code sample I can 
check out?


LDC 1.12.0-beta2 (based on LLVM 7)

2018-09-29 Thread kinke via Digitalmars-d-announce

Glad to announce the second beta for LDC 1.12.

* Based on D 2.082.0+ (today's DMD stable).
* Support for LLVM 7, which is used for the prebuilt packages.
  Due to an LLVM 7.0.0 regression, the prebuilt x86[_64] LDC 
binaries

  require a CPU with SSSE3.
* New, Easy::jit-like interface for dynamic/JIT compilation.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.12.0-beta2


Thanks to all contributors!


Re: LDC 1.12.0-beta1

2018-09-07 Thread Joakim via Digitalmars-d-announce
On Friday, 7 September 2018 at 07:54:37 UTC, Petar Kirov 
[ZombineDev] wrote:

On Friday, 7 September 2018 at 03:12:50 UTC, Joakim wrote:

On Wednesday, 5 September 2018 at 05:15:45 UTC, Joakim wrote:

I'll add native beta builds for Android in a couple days.


The native Android builds are up at the above github release 
link. I think this is the last time I'll put beta builds out, 
too much of a PITA to rebuild llvm each time. I'll continue 
maintaining the ldc package in the official Termux package 
repo though.


The Termux package build script used to build these betas is 
online here:


https://github.com/joakim-noah/termux-packages/tree/beta/packages/ldc-beta


Can the Android builds be done automatically on the CI, like 
those for other platforms or the process is more involved?


They could, though our tweaked llvm still has to be rebuilt for 
each Android platform. It may be worth setting up at some point.


I've been thinking of setting up an Alpine CI for ldc, so I don't 
have to manually build each release, just as kinke now does for 
linux/armhf also.


Re: LDC 1.12.0-beta1

2018-09-07 Thread Petar via Digitalmars-d-announce

On Friday, 7 September 2018 at 03:12:50 UTC, Joakim wrote:

On Wednesday, 5 September 2018 at 05:15:45 UTC, Joakim wrote:

I'll add native beta builds for Android in a couple days.


The native Android builds are up at the above github release 
link. I think this is the last time I'll put beta builds out, 
too much of a PITA to rebuild llvm each time. I'll continue 
maintaining the ldc package in the official Termux package repo 
though.


The Termux package build script used to build these betas is 
online here:


https://github.com/joakim-noah/termux-packages/tree/beta/packages/ldc-beta


Can the Android builds be done automatically on the CI, like 
those for other platforms or the process is more involved?


Re: LDC 1.12.0-beta1

2018-09-06 Thread Joakim via Digitalmars-d-announce

On Wednesday, 5 September 2018 at 05:15:45 UTC, Joakim wrote:

I'll add native beta builds for Android in a couple days.


The native Android builds are up at the above github release 
link. I think this is the last time I'll put beta builds out, too 
much of a PITA to rebuild llvm each time. I'll continue 
maintaining the ldc package in the official Termux package repo 
though.


The Termux package build script used to build these betas is 
online here:


https://github.com/joakim-noah/termux-packages/tree/beta/packages/ldc-beta


Re: LDC 1.12.0-beta1

2018-09-06 Thread Guillaume Piolat via Digitalmars-d-announce

On Tuesday, 4 September 2018 at 22:47:39 UTC, kinke wrote:

* LTO working for Win64 targets.


Wow! Thank you.


Re: LDC 1.12.0-beta1

2018-09-04 Thread Joakim via Digitalmars-d-announce
On Tuesday, 4 September 2018 at 23:03:30 UTC, Arun Chandrasekaran 
wrote:

On Tuesday, 4 September 2018 at 22:47:39 UTC, kinke wrote:

Glad to announce the first beta for LDC 1.12:

* Based on D 2.082.0.
* LTO working for Win64 targets.
* IR-based PGO working for Windows targets.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.12.0-beta1


Thanks to all contributors!


Fantastic work! This is the first time LDC caught up with DMD 
in a single day, I guess.


No, kinke has had this down before, as the first 1.10 beta came 
out within two weeks and the 1.11 beta came out on the same day 
as its upstream dmd:


https://forum.dlang.org/thread/lyzbdiqcnohbvphzg...@forum.dlang.org
https://forum.dlang.org/thread/gpeecjveashtvfpih...@forum.dlang.org

This _is_ the first time we're releasing a native build of LDC 
for linux/AArch64 on the release date, because of the work kinke 
did to add a Linux/AArch64 CI for LDC, which also automatically 
uploads the release build. 1.11 was the first release with an 
AArch64 build, but that was added manually a week later, as can 
be seen from the datestamps here:


http://www.somsubhra.com/github-release-stats/?username=ldc-developers=ldc

I'll add native beta builds for Android in a couple days.


Re: LDC 1.12.0-beta1

2018-09-04 Thread Arun Chandrasekaran via Digitalmars-d-announce

On Tuesday, 4 September 2018 at 22:47:39 UTC, kinke wrote:

Glad to announce the first beta for LDC 1.12:

* Based on D 2.082.0.
* LTO working for Win64 targets.
* IR-based PGO working for Windows targets.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.12.0-beta1


Thanks to all contributors!


Fantastic work! This is the first time LDC caught up with DMD in 
a single day, I guess.


LDC 1.12.0-beta1

2018-09-04 Thread kinke via Digitalmars-d-announce

Glad to announce the first beta for LDC 1.12:

* Based on D 2.082.0.
* LTO working for Win64 targets.
* IR-based PGO working for Windows targets.

Full release log and downloads: 
https://github.com/ldc-developers/ldc/releases/tag/v1.12.0-beta1


Thanks to all contributors!