- Use stream 0 only for combined module. Previously if combined module was not processes ThinLTO used the stream for own output. However small changes in input, could trigger combined module and shuffle outputs making life of llvm::LTO client harder.
- Always process combined module and write output to stream 0. Processing empty combined module is cheap and allows llvm::LTO users to avoid implementing processing which is already done in llvm::LTO.
Change these to:
and have them be initialized by the RegularLTOState constructor in the same way as LTO::linkRegularLTO is doing right now.