FPC LLVM

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

FPC LLVM

Beitrag von Warf »

Hey ho,

da der wiki artikel von vor 2 Jahren ist wollte ich hier mal fragen, weiß einer von euch über den Status vom LLVM target für den FPC? Ist das schon im trunk? Und falls ja, funktioniert es schon annehmbar? Und gibt es eventuell schon eine grobe vorstellung mit welcher stable version es geliefert werden soll?

Wollte mal ein paar experimente machen, dafür muss ich nur wissen ob der spaß schon benutzbar ist, finde allerdings nicht sonderlich viel Information dazu. Wäre schön wenn mir hier jemand mit Erfahrung damit sich melden könnte.

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: FPC LLVM

Beitrag von mischi »

Warf hat geschrieben:Hey ho,

da der wiki artikel von vor 2 Jahren ist wollte ich hier mal fragen, weiß einer von euch über den Status vom LLVM target für den FPC? Ist das schon im trunk? Und falls ja, funktioniert es schon annehmbar? Und gibt es eventuell schon eine grobe vorstellung mit welcher stable version es geliefert werden soll?

Wollte mal ein paar experimente machen, dafür muss ich nur wissen ob der spaß schon benutzbar ist, finde allerdings nicht sonderlich viel Information dazu. Wäre schön wenn mir hier jemand mit Erfahrung damit sich melden könnte.

Den Compiler kann man in trunk mit folgendem Befehl erzeugen:

make -C compiler clean all LLVM=1

rtl und packages gehen noch nicht. Irgendwo kracht es noch, wenn man "make all LLVM=1" eingibt.
MiSchi macht die fink-Pakete

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: FPC LLVM

Beitrag von Warf »

Also alles in allem immer noch sehr unausgereift. Aber danke, auf make -C compiler clean all LLVM=1 wär ich nicht gekommen.
Weißt du zuvällig auch welche LLVM version getargetted wird (3.x, 4, 5 oder 6)

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: FPC LLVM

Beitrag von mischi »

Warf hat geschrieben:Also alles in allem immer noch sehr unausgereift. Aber danke, auf make -C compiler clean all LLVM=1 wär ich nicht gekommen.
Weißt du zuvällig auch welche LLVM version getargetted wird (3.x, 4, 5 oder 6)

Nicht wirklich. Ich glaube, dass auf meinem Mac Version 4 läuft, kann mich aber auch täuschen.
MiSchi macht die fink-Pakete

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: FPC LLVM

Beitrag von Warf »

So ne ganz dumme frage, wenn ich den compiler mit LLVM=1 gebaut habe, und ein simples programm (ohne packages, etc.) kompilieren will:

Code: Alles auswählen

program test;
begin
  WriteLn('Hello World!');
end.


Wie kompiliere ich das zu LLVM? Ich habe es mit -Pllvm probiert, das hat aber nicht funktioniert. (Bytecode oder LLVM language ist mir egal). Bei fpc -h steht noch nichts von LLVM.

PS: so wie es ausschaut wird irgendwass zwichen LLVM 3.3 und 4.0 getargetted, zumindest von den commit messages zu schließen. Mit LLVM 4 kann man also nichts falsch machen

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: FPC LLVM

Beitrag von mischi »

Warf hat geschrieben:So ne ganz dumme frage, wenn ich den compiler mit LLVM=1 gebaut habe, und ein simples programm (ohne packages, etc.) kompilieren will:

Code: Alles auswählen

program test;
begin
  WriteLn('Hello World!');
end.


Wie kompiliere ich das zu LLVM? Ich habe es mit -Pllvm probiert, das hat aber nicht funktioniert. (Bytecode oder LLVM language ist mir egal). Bei fpc -h steht noch nichts von LLVM.

Man kann zwar den Compiler bauen, aber hat damit noch keine rtl. Writeln kann deshalb schon mal nicht gehen. Ob überhaupt der Start- und Beenden-Code läuft, weiss ich nicht. Zum Setzen der Variablen llvm muss man beim Aufruf von fpc die Option -d verwenden, also "fpc -dllvm YourCode.pas". Eventuell braucht es noch die Option "-Fullvm". Da alles noch sehr neu und nicht komplett unterstützt ist, wird vermutlich vor allem an dem Feature gearbeitet und noch nicht an der Dokumentation.
MiSchi macht die fink-Pakete

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: FPC LLVM

Beitrag von Warf »

mischi hat geschrieben:Man kann zwar den Compiler bauen, aber hat damit noch keine rtl. Writeln kann deshalb schon mal nicht gehen. Ob überhaupt der Start- und Beenden-Code läuft, weiss ich nicht. Zum Setzen der Variablen llvm muss man beim Aufruf von fpc die Option -d verwenden, also "fpc -dllvm YourCode.pas". Eventuell braucht es noch die Option "-Fullvm". Da alles noch sehr neu und nicht komplett unterstützt ist, wird vermutlich vor allem an dem Feature gearbeitet und noch nicht an der Dokumentation.


Achse ich hatte gehofft das es wenigstens schon die System Unit gäb

Antworten