in reply to Re: perllVm: A start.
in thread perllVm: A start.
Thanks.
it looks like you didn't use any of CPAN LLVM modules.
Correct. Those modules are for use from an existing Perl installation to compile C code to speed up small functions. Much in the vain of using XS or Inline::C.
The exercise here is to (first) build Perl itself using LLVM.
How did you get/compile 'clang.exe'?
You pull the source code and then build it :) see http://clang.llvm.org/get_started.html.
It can be built with gcc (mingw on win), or MSVC.
Once built (on *nix) clang 'claims' (or perhaps just 'aims') to be a "drop-in replacement for gcc".
(I'm not in a position to verify that, but superficially from the docs and examples I can find, it looks fairly true.
Or maybe once you have 'clang.exe' you can get a faster version by compiling 'clang.exe' with 'clang'. Completely guessing :-)
I've no idea if you can bootstrap clang using clang.
Update: it can and does on *nix. (Apparently their build bots re-build themselves regularly.)
For now, my target is to work out how to build (a) working perl -- that is compatible with modules built for that perl using the normal mechanisms -- using clang.
A simple, standalone sandbox in which to play.
Then I can compare that to the standard build and see what if any improvements are available using LLVM as just another C compiler.
Then I can explore what differences/improvements are bought about by which of LLVMs many optimisation passes. Ie. which give the best bang for the buck.
Then move on to exploring the possibility of bolting LLVM JIT into the mix at runtime.
But baby steps. The clang docs are sparse and despite that they are targeting windows compatibility -- and have already added lots of support -- there are few windows people involved from who to curry expertise.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: perllVm: A start.
by rurban (Scribe) on Sep 04, 2012 at 11:24 UTC | |
by BrowserUk (Patriarch) on Sep 05, 2012 at 13:22 UTC | |
by Anonymous Monk on Sep 05, 2012 at 13:29 UTC | |
by BrowserUk (Patriarch) on Sep 05, 2012 at 13:42 UTC | |
by Will_the_Chill (Pilgrim) on Sep 05, 2012 at 20:58 UTC | |
by Anonymous Monk on Sep 05, 2012 at 21:16 UTC | |
| |
by Will_the_Chill (Pilgrim) on Sep 05, 2012 at 00:21 UTC | |
|
Re^3: perllVm: A start.
by flexvault (Monsignor) on Sep 03, 2012 at 17:28 UTC |