DDP-Projekt / Kompilierer

Der Kompilierer der Deutschen Programmiersprache
https://ddp.le0n.dev/Spielplatz
MIT License
138 stars 4 forks source link

Übergabe von komplexen Typen in Registern #78

Open bafto opened 1 month ago

bafto commented 1 month ago

Als komplexe Typen zählen alle Typen, die im Moment als pointer übergeben werden (also Texte und Strukturen).

Ziel dieses Issues ist es solche Typen wenn möglich nicht mehr als pointer, sondern als Wert zu übergeben. Das ermöglicht einige Optimierungen, und erleichtert vor allem die Zusammenarbeit mit C code.

Vorgehensweise: Entsprechenden C-Code mithilfe von clang zu llvm-ir kompilieren und analysieren. Beispiel: https://godbolt.org/z/ejzbev8Kr