diff options
| -rw-r--r-- | src/doc/rustc/src/linker-plugin-lto.md | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/doc/rustc/src/linker-plugin-lto.md b/src/doc/rustc/src/linker-plugin-lto.md index c0b14352b7d..7ddd5ae5275 100644 --- a/src/doc/rustc/src/linker-plugin-lto.md +++ b/src/doc/rustc/src/linker-plugin-lto.md @@ -89,6 +89,28 @@ rustc -Clinker-plugin-lto="/path/to/LLVMgold.so" -L. -Copt-level=2 ./main.rs ## Toolchain Compatibility +<!-- NOTE: to update the below table, you can use this shell script: + +```sh +rustup toolchain install --profile minimal nightly +MINOR_VERSION=$(rustc +nightly --version | cut -d . -f 2) +LOWER_BOUND=44 + +llvm_version() { + toolchain="$1" + printf "Rust $toolchain | Clang " + rustc +"$toolchain" -Vv | grep LLVM | cut -d ':' -f 2 | tr -d ' ' +} + +for version in `seq $LOWER_BOUND $((MINOR_VERSION - 2))`; do + toolchain=1.$version.0 + rustup toolchain install --no-self-update --profile minimal $toolchain >/dev/null 2>&1 + llvm_version $toolchain +done +``` + +--> + In order for this kind of LTO to work, the LLVM linker plugin must be able to handle the LLVM bitcode produced by both `rustc` and `clang`. |
