Was ist der Unterschied zwischen llvm-ld und llvm-link? Ich nehme an, llvm-ld führt Link-Zeit-Optimierung, während llvm-link nicht funktioniert. Habe ich recht?Unterschied b/w llvm-ld und llvm-link
Antwort
llvm-ld
ist ein Drop-In-Ersatz für den System-Linker, der sowohl LLVM-Bitcode als auch nativen Code unterstützt. Es 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 llvm-ld
nicht direkt verwenden, da es bequemer ist die llvmc
und clang
Frontends zu verwenden, die die entsprechenden Programme der LLVM Toolchain nach Bedarf aufrufen (Anmerkung:llvmc
wurde experimentell markiert und erscheint entfernt wurden, in die Version 3.0).
llvm-link
ist ein Low-Level-Tool, das mehrere Bitcode-Dateien zu einem einzigen vereinigt. Die Dokumentation erwähnt nicht, ob es Optimierungen gibt, aber es doesn't appear to do so. Die nächsten Optimierungsdurchläufe werden bei der nativen Codegenerierung ausgelöst.
auch llvm-ld wird in 3.1 entfernt –