Differenz s / w llvm-ld und llvm-link

8

Was ist der Unterschied zwischen llvm-ld und llvm-link ? Ich nehme an, llvm-ld führt eine Optimierung der Verbindungszeit durch, während llvm-link dies nicht tut. Habe ich Recht?

    
pythonic 09.04.2012, 07:33
quelle

1 Antwort

5

llvm-ld ist ein Ersatz für den System-Linker, der sowohl LLVM-Bitcode als auch nativen Code unterstützt. Er erzeugt standardmäßig ausführbare Bitcode-Dateien (dh die resultierende ausführbare Datei ruft den Bitcode-Interpreter auf), kann aber auch verwendet werden, um native ausführbare Dateien zu erzeugen.

Ich verwende llvm-ld nicht direkt, da es bequemer ist, die Frontends llvmc und clang zu verwenden, die bei Bedarf die entsprechenden Programme der LLVM-Toolchain aufrufen ( note: llvmc wurde als experimentell markiert und scheint in der Version 3.0 entfernt worden zu sein.

llvm-link ist ein Tool auf niedrigerer Ebene, das mehrere Bitcodedateien zu einem einzigen vereinigt. Die Dokumentation erwähnt nicht, ob es Optimierungen gibt, aber es scheint dies nicht zu tun . Die nächsten Optimierungsdurchläufe werden bei der nativen Codegenerierung ausgelöst.

    
Christoph 09.04.2012 08:23
quelle

Tags und Links