Lto does not work on assembly, it only works if some IR is stored in the .o files (like gimple for gcc) iirc.
However, that is not an inherent restriction - that is only a restriction on current compilers. It is entirely possible for a compiler to read the assembly of things being linked and optimize based on that.