It might just be the difference between -Os and -Oz in GCC and Clang ("optimize for size" and "optimize for size even at the cost of speed"). This new flag might be "optimize for speed even at the cost of code size and compile time"—something to set on the client module rather than the library module.
I have no position on the spelling, as long as there's a way to do it.
The main thing here is that we don't want to just do it blindly, we are worried about other implications like code-size for instance. So the idea has been, ok use a heuristic so that we can tune this thing to not have too much of a code-size impact/vs the perf win and carefully expand the cases that we support over time.
Exactly. That's the idea
FWIW, this flag is implemented; you can use it by adding
-Xllvm -sil-cross-module-serialize-all to your
swiftc command line.