Avoiding of using TypeFinder in linker

I am working on research compiler based on LLVM toolchain and I'm
trying to make LTO as lazy as possible. So, I've decided that the use
of lazy materialization is a good idea. But class TypeFinder is used
to collect all types in a program being linked while normal linking.
Using of basic blocks and instructions by TypeFinder makes it hard to
materialize function bodies later.

Is there an easy way to avoid using TypeFinder? Is there an
alternative way to collect types without access to function bodies? I
see the only way to save types in bitcode by a front-end, but I'm not
sure it's realy so.