Some links on the Delphi compiler and the LLVM Compiler Infrastructure Project
Posted by jpluimers on 2012/06/05
A long while ago I read about Embarcadero Discussion Forums: Barry Kelly on LLVM … I think it was 2010, the thread is gone now (probably because the Embarcadero forum index does not go back more than one year), but the title still shows up at Google search: Barry+Kelly+on+LLVM
Barry Kelly is one of the Delphi compiler engineers, so it got me thinking and made me archive some links (I wish I had archived the content as well as the Wayback Machine didn’t archive some defunct links.)
Today Paweł Głowacki presents the Mac and Mobile Development for Windows Developers event and indicated future Delphi compiler platform targets like ARM will indeed make use of the The LLVM Compiler Infrastructure Project..
(if you still want to come: you are welcome, there are a few spots left; The event is June 5, 2012 at 9:30 AM – 1:30 PM
at the High Tech Campus Eindhoven Conference Center, The Strip).
Delphi leveraging LLVM for ARM is important in more than a few ways:
- iOS runs on ARM, and the Apple Xcode IDE levarages LLVM for Objective-C
so the current Free Pascal Compiler construction (FPC is not LLVM based) won’t be needed any more - most Android devices run ARM
- Windows 8 will support both ARM and x86
A couple of other interesting links:
- Embarcadero Discussion Forums: Barry Kelly on LLVM … (now defunct)
- The LLVM Compiler Infrastructure Project.
- llvm-pascal – Object Pascal compiler for LLVM – Google Project Hosting. (Portuguese, but very intresting)
- Intro to the LLVM MC Project | Hacker News.
- LLVM Developers Mailing List.
- TPersistent.com » Blog Archive » Open Source Take 2.
- LLVM Frontend for Pascal. (which seems to be dormant since 2010)
- Old Nabble – LLVM – Dev – Getting started with LLVM on Win32 from non-C/C++ language.
- Comp.compilers: Re: Intermediate forms (again?): worthwhile?.
- Why have a stack? – Fabulous Adventures In Coding – Site Home – MSDN Blogs.
- Embarcadero Discussion Forums: Tag: llvm.
- Embarcadero Discussion Forums: FireMonkey is out Now what? … (message by Manfredt Kavetu).
- Embarcadero Discussion Forums: FireMonkey is out Now what? … (message by Arnaud Bouchez)
And some more defunct links:
- https://forums.embarcadero.com/thread.jspa?threadID=53523
- https://forums.embarcadero.com/thread.jspa?threadID=47818
–jeroen
PS: Funny, after posting, WordPress gave me this quote:
I have made this letter longer, because I have not had the time to make it shorter.
–Blaise Pascal










PaulF said
CodeNewsFast does have it on cache (Barry Kelly on LLVM):
http://www.codenewsfast.com/cnf/article/165969/waArticleBookmark.7354866
jpluimers said
thanks!
LLVM und Delphi - Delphi-PRAXiS said
[...] [...]
Thaddy de Koning said
A bit late, but of interest for those who like exotica:
Freepascal can use llvm with its java VM back end using either GCJ or for example vmkit to produce llvm executables.
It emits valid java bytecode wich can be used with any java bytecode to native implementation.
jpluimers said
Very cool! It seems that Freepascal has made a lot of progress over the last couple of years.
Thaddy de Koning said
As a further couple of notes:
1. Yes, this – llvm – works with FPC trunk 2.7.1 although the tool chain is very long, but the llvm executables are near optimal when done properly.
2. No it does not (yet) work for Lazarus, although a widget-set could be created for any of the java GUI libs out there.
3. Your mileage may vary, but sometimes: yes, llvm native produces faster code than a fully native FreePascal executable.
4. You can use most Java standard libraries by means of a class importer.
5. Since Florian fears for his hobby and the original llvm maintainer – which is dormant like a parrot – also did the Java port I understand llvm is on hold for Freepascal (but that doesn’t really matter, does it ;) It works!)
jpluimers said
Can you elaborate on the “Florian” and “on hold” part?
Quot licet Iovi non licet bovi said
Florian is the guy who created FPC.
AFAIU, on hold here means no work is done on it.
For more info, look through the various FPC mailing list archives…