Cross language LTO is not going to work for ifort. As far as I know it is not based on LLVM and LTO requires all code to be compiled by the same compiler (framework) (eg LLVM, GCC, MSVC, ...) and ideally the exact same version. Would using intel ifx or flang work for your purposes. Flang is part of LLVM and intel ifx is based on LLVM too. You will have to make sure that the compiler you use for linking uses at least the same version of LLVM as rustc. LLVM refuses to read bitcode produced by a newer LLVM version.