Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   LLVM und Delphi (https://www.delphipraxis.net/168752-llvm-und-delphi.html)

bernhard_LA 8. Jun 2012 11:13

Delphi-Version: 5

LLVM und Delphi
 
kann man mit diesem Tool http://code.google.com/p/llvm-pascal/Delphi Code oder Free Pascal Code kompilieren ?
Der Text kommt mir Spanisch vor und ich verstehe kein Wort ....

mkinzler 8. Jun 2012 11:20

AW: LLVM und Delphi
 
Google-Translate bringt auch nur Mist
http://translate.google.de/translate...llvm-pascal%2F

Aber vielleicht wirst du hier fündig
http://wiert.me/2012/06/05/some-link...cture-project/

franktron 8. Jun 2012 11:26

AW: LLVM und Delphi
 
Was willst du den genau wissen.

Also der Code ist mit Freepascal 2.4.4 gemacht worden, wenn du noch was wissen willst frag ich übersetzt das dann.

bernhard_LA 8. Jun 2012 20:15

AW: LLVM und Delphi
 
ist LLVM eine Technologie die es mir erlaubt meine Applikationen auf vielen Platformen laufen zulassen - kann ich über LLVM Platformen ereichen die ich mit Delphi code heute noch nicht erreichen kann ?

daywalker9 8. Jun 2012 20:29

AW: LLVM und Delphi
 
LLVM gehört zur Kategorie der Compiler. Bei LLVM ist das auschlaggebende, das Frontends entwickelt werden können (für die jeweiligen Sprachen), die dann die LLVM-Sprache nutzen und damit das Backend ansprechen. Um das erzeugen des Maschinencodes kümmert sich dann das Backend des LLVM.

Also eigentlich muss Embarcadero "nur" einen Delphi-Compiler bringen, der in die LLVM Sprache übersetzt.

Edit:

Hier kann man sich mal ein LLVM Assembly anschauen, wo einem Code, den man eingibt:

LLVM Project

Stevie 10. Jun 2012 23:25

AW: LLVM und Delphi
 
Zitat:

Zitat von daywalker9 (Beitrag 1170100)
Also eigentlich muss Embarcadero "nur" einen Delphi-Compiler bringen, der in die LLVM Sprache übersetzt.

Vielleicht machen sie das ja bereits. ;)

jbg 11. Jun 2012 10:05

AW: LLVM und Delphi
 
Damals beim C++ Compiler 6.0 hatten sie es ja andersherum probiert. EDG Frontend und ein eigenes, nie wirklich fertig gestelltes Backend.

bernhard_LA 11. Jun 2012 15:10

AW: LLVM und Delphi
 
Unterscheidet sich LLVM (low level virual Machine ) code stark von Java Byte Code - Ist ein Delphi mit einem LLVM compiler auch nur ein anderes JAVA Tool ?

mkinzler 11. Jun 2012 15:17

AW: LLVM und Delphi
 
LLVM ist ein Zwischencode
Code:
c++
Delphi  -> LLVM -> <Zielplattform>
...

Uwe Raabe 11. Jun 2012 15:32

AW: LLVM und Delphi
 
Zitat:

Zitat von bernhard_LA (Beitrag 1170321)
LLVM (low level virual Machine )

virual?

VIP = Virus Implemented Platform?

ele 11. Jun 2012 16:48

AW: LLVM und Delphi
 
Die Webseite ist übrigens Portugiesisch und Goolge-Translate liefert meiner Meinung nach eine ganz passable Übersetzung.

mkinzler 11. Jun 2012 17:25

AW: LLVM und Delphi
 
Zitat:

Zitat von ele (Beitrag 1170335)
Die Webseite ist übrigens Portugiesisch und Goolge-Translate liefert meiner Meinung nach eine ganz passable Übersetzung.

Wie man im Edit meines Beitrages ja auch schon sah
http://www.delphipraxis.net/1170000-post2.html

Jonas Shinaniganz 20. Sep 2013 07:58

AW: LLVM und Delphi
 
Ich glaube Delphi geht einen wirklich guten Weg mit dem DCCARM und LLVM! LLVM scheint sehr mächtig und dabei sehr flexibel bzw modular. Was ist eure Meinung dazu?

Union 20. Sep 2013 08:16

AW: LLVM und Delphi
 
Früher war alles besser ;) Also Compiler aus dem "Compilerbaukasten" sind wohl die einzige Möglichkeit mit den vielen verschiedenen Plattformen Schritt zu halten. Nur ob das dann so hochoptimiert ist wie der dcc32, in den eine riesen Menge Arbeit und Gehirnschmalz geflossen ist? Ob das überhaupt möglich ist? Ich habe mir den erzeugten Bytecode noch nicht genauer angesehen.

Bernhard Geyer 20. Sep 2013 09:20

AW: LLVM und Delphi
 
Zitat:

Zitat von Union (Beitrag 1229233)
Nur ob das dann so hochoptimiert ist wie der dcc32,

dcc32 hochoptimiert? Da gibts glaube ich viele beispiele die das Gegenteil beweisen.

Zitat:

Zitat von Union (Beitrag 1229233)
in den eine riesen Menge Arbeit und Gehirnschmalz geflossen ist?

Sicherlich ist da viel reingeflossen. Aber auch über die Jahre wurde nur dazugeschuster und kein Redesign durchgeführt. So ist in den letzten Jahre das Gehirnschmalz dafür verwendet worden wie man kleinigekeiten ergänzen kann ohne das der Ganze Altcode nicht zusammenbricht.

Zitat:

Zitat von Union (Beitrag 1229233)
Ob das überhaupt möglich ist?

Ich denke schon das in den letzten 20 Jahren in denen der Delphi-Compiler immer nur erweitert wurde aber keine grundsätzliches modernere Implementierung/Redesign bekommenen hat ist viel geschehen.

Robotiker 20. Sep 2013 09:40

AW: LLVM und Delphi
 
Zitat:

Zitat von Jonas Shinaniganz (Beitrag 1229228)
Ich glaube Delphi geht einen wirklich guten Weg mit dem DCCARM und LLVM!

Für Delphi scheint mir diese Entwicklung positiv zu sein. Beim C++ Builder bin ich mir nicht sicher.

Emba baut da seine eigenen C++ Compiler, im Moment nur Win64, iOs und bald (XE6 ?) für Android auf LLVM Basis. Der Win32 und der Mac Compiler basieren noch auf dem alten Compiler aus den 1990ern, weswegen das mit der "einen Codebasis" für den C++ Builder ein ziemlich theoretisches Marketingargument ist.

Gleichzeitig ist CLang natürlich auf allen diesen (und mehr) Plattformen als LLVM basierender Open Source C++ Compiler verfügbar. Außerdem bringt Google gerade CLang für Visual Studio, natürlich kostenlos.

Bleiben als Kaufargumente für einen C++ Builder wirklich nur noch VCL und FireMonkey übrig, alles andere gibt es auch woanders ...

mkinzler 20. Sep 2013 10:24

AW: LLVM und Delphi
 
Zitat:

Zitat von Union (Beitrag 1229233)
Früher war alles besser ;) Also Compiler aus dem "Compilerbaukasten" sind wohl die einzige Möglichkeit mit den vielen verschiedenen Plattformen Schritt zu halten. Nur ob das dann so hochoptimiert ist wie der dcc32, in den eine riesen Menge Arbeit und Gehirnschmalz geflossen ist? Ob das überhaupt möglich ist? Ich habe mir den erzeugten Bytecode noch nicht genauer angesehen.

Von LLVM gibt es keinen Delphi/Pascal-Compiler. LLVM ist ja nur das Backend. Der Forntend-Compiler wird ja weiterhin von EM kommen, nur die die Codeerzeugung für die jeweilige (Prozessor-)Plattform wird von LLVM übernommen.

hstreicher 20. Sep 2013 12:33

AW: LLVM und Delphi
 
P-Code 2.0 :)

wie bei Uralt UCSD Pascal

http://de.wikipedia.org/wiki/P-Code

Jonas Shinaniganz 20. Sep 2013 12:54

AW: LLVM und Delphi
 
Zitat:

dcc32 hochoptimiert? Da gibts glaube ich viele beispiele die das Gegenteil beweisen.
Darüber wurde ja schon geredet. Was ich jetzt noch erfahren habe: Die LLVM ebnet Wege, die dcc nicht gehen kann

Zitat:

Wiki: Herkömmliche Compilersysteme führen Optimierungsvorgänge meist beim Kompilieren durch und verbinden die kompilierten Module dann miteinander. Dieser zweite Vorgang wird Binden oder auch Linken genannt und bietet ebenfalls Optimierungsmöglichkeiten, die bisher wenig genutzt wurden, da der Linker nur die einzelnen Module sieht und nicht das gesamte Programm. Hier setzt LLVM an, indem es einen nach Vorbild der RISC-Befehlssätze gestalteten virtuellen Bytecode erstellt, der während des Linkens noch einmal optimiert werden kann.

Robotiker 20. Sep 2013 13:19

AW: LLVM und Delphi
 
Zitat:

Zitat von Jonas Shinaniganz (Beitrag 1229270)
Die LLVM ebnet Wege, die dcc nicht gehen kann

Solche Optimierungen gibt es auch ohne LLVM.
http://software.intel.com/en-us/arti...-c-compiler#s4
http://msdn.microsoft.com/en-us/library/0zza0de8.aspx

BUG 20. Sep 2013 13:38

AW: LLVM und Delphi
 
Zitat:

Zitat von Robotiker (Beitrag 1229277)
Solche Optimierungen gibt es auch ohne LLVM.

Neuerungen auf einen gewachsenen Compiler aufzusetzen ist aber nicht besonders einfach. LLVM hat den Vorteil, das es relativ jung ist und von Anfang an auf Optimierungen/Plugins/Analyse zugeschnitten ist.
Zudem wird LLVM nicht nur von einer Organisation genutzt und es gibt aktive Forschungen mit/zu diesem Compiler. Die Chancen stehen also gut, dass man als "kleinerer" (-> nicht Microsoft oder Intel :)) Hersteller nicht mithalten kann.

Robotiker 20. Sep 2013 13:45

AW: LLVM und Delphi
 
Zitat:

Zitat von BUG (Beitrag 1229279)
Die Chancen stehen also gut, dass man als "kleinerer" (-> nicht Microsoft oder Intel :)) Hersteller nicht mithalten kann.

Es ist wohl auch die einzige Chance, bei so vielen Compilern.

Meine Antwort bezog sich auf das "kann", was für mich so klang, als ob es ohne LLVM nicht ginge.

Aber es ist auch ein Problem, treibende Kräfte hinter LLVM sind auch Große, wie Google und Apple. Wenn sich, wie CLang für C/C++/ObjC, ein freier Pascal LLVM Compiler etabliert, hängt wirklich alles an der IDE und FireMonkey. Die müssen dann das Geld verdienen, die Compiler unterscheiden sich nicht mehr viel von dem, was es auf der jeweiligen Plattform eh gibt.

Namenloser 20. Sep 2013 13:51

AW: LLVM und Delphi
 
Zitat:

Zitat von Robotiker (Beitrag 1229281)
Wenn sich, wie CLang für C/C++/ObjC, ein freier Pascal LLVM Compiler etabliert, hängt wirklich alles an der IDE und FireMonkey.

Tut es doch sowieso schon immer, oder nicht? Aus Performance-Gründen setzt niemand Delphi ein...
Und es ist übrigens schon länger so, dass Freepascal z.B. oft besser optimierten Code erzeugt als der Delphi-Compiler.

Robotiker 20. Sep 2013 13:58

AW: LLVM und Delphi
 
Zumindest war der bisherige Delphi-Compiler sehr schnell, was das Übersetzen angeht. In Zukunft unterscheidet er sich nur noch durch entsprechende Spracherweiterungen.

Namenloser 20. Sep 2013 14:08

AW: LLVM und Delphi
 
Zitat:

Zitat von Robotiker (Beitrag 1229285)
Zumindest war der bisherige Delphi-Compiler sehr schnell, was das Übersetzen angeht.

Ja ok, das schon. Allerdings lag das ja vor allem daran, dass es ein Single-Pass-Compiler ist/war (was ja auch daran liegt, dass Pascal so konzipiert ist). Daran würde sich aber nicht unbedingt etwas ändern, wenn jetzt LLVM-Bytecode ausgegeben wird statt X86-Assembler.

Ich denke, dass das anschließende Übersetzen von LLVM in nativen Code nicht sooo ein riesen Zeitfaktor sein dürfte, jedenfalls nicht auf niedriger Optimierungsstufe. Aber selbst auf niedriger Stufe dürfte das Ergebnis nicht viel langsamer laufen als der Code, der vom bisherigen Compiler ausgegeben wurde...

Robotiker 20. Sep 2013 14:14

AW: LLVM und Delphi
 
Auf jeden Fall kann man mit LLVM tolle Sachen machen. Vielleicht sehen wir ja bald ein FireMonkey für JavaScript:

Das hier
http://www.youtube.com/watch?v=zq3cCHcNPCI
ist eine Webanwendung, die mit LLVM und Emscripten
https://github.com/kripken/emscripten/wiki
aus einer C++ Anwendung generiert wurde, die mit Cinder
http://libcinder.org/
erzeugt wurde. Das ist ja ein bischen wie FireMonkey. Es läuft mit XCode auf Mac und iOS, mit Visual Studio auf Win, WinRT und WP8, demnächst auch auf Android.

Aber genau solche Konkurrenz meine ich, mit "FireMonkey muss das Geld verdienen".


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz