Ist es möglich, eine Assemblersprache in LLVM IR zu übersetzen, sie zu optimieren und sie dann in eine andere Architektur umzuwandeln?

9

Ist es möglich, eine Assembler-Sprache in LLVM IR zu übersetzen, zu optimieren und dann in eine andere Architektur umzuwandeln? Wie würdest du mit "Push" und "Pop" auf dem Stack im IR umgehen? Dies ist der einfachste Einwand, den ich gefunden habe, aber ich bin mir sicher, dass es Tonnen wie diese gibt.

Ich plane, einen dynamischen Rekompiler zu erstellen, und es scheint, dass dies eine ausgezeichnete Lösung wäre, da LLVM automatisch meinen Code für die neue Architektur optimieren würde. Ist all das mit LLVM möglich?

Danke

    
Francesco Boffa 27.11.2011, 19:13
quelle

2 Antworten

4

Dies ist eine ähnliche Frage: Kompilieren Sie einen x86-Code mit LLVM zu einem schnelleren x86

Die Antwort ist, dass LLVM das nicht direkt machen kann, aber als Teil eines Tools verwendet werden kann, das dies tut.

    
Richard Pennington 27.11.2011 19:25
quelle
1

Es ist möglich.

Sie müssen jedoch eine Codebasis mit dem LLVM entwickeln, um den Prozess zu implementieren, der die Assemblersprache in LLVM IR übersetzt.

Dann kann LLVM Ihnen helfen, für neue Architektur zu optimieren und zu generieren.

Also müssen Sie den Übersetzer entwickeln, der die Assemblersprache in LLVM IR übersetzen kann. Ich habe schon gesehen, dass jemand das macht, Sie können auf der Website suchen.

    
shining 26.06.2013 03:12
quelle

Tags und Links