Compilation EmitSwiftModule stage

I'm inspecting what happens in our project during compile time. For incremental builds, under the stage of "Compile Swift source files", I do see in the build timeline that only the files that were changed are re-compiled. However, there's also a very long stage called "Emit Swift Module" ("EmitSwiftModule normal arm64"), that takes very long, and also relates to file that were not touched.

Can you please shed light on:

  1. What is this stage?
  2. Why does it recompile everything every time?
  3. Is there a way to avoid recompiling everything every time? Or reduce it in any way? Such as splitting the code to avoid re-compilation

If it matters, we have a mixture of objc and Swift, but it's mostly Swift.

Thank you!