This patch tries to make clang to generate the BMI implicitly in the module cache, which allow the user to compile a hello world example in one command line.
This also tries to fix the problem I raised a year ago: https://discourse.llvm.org/t/make-command-line-support-for-c-20-module-uniform-with-gcc/59144
More importantly, the patch ease the implementation for build system writers, which makes their initial support more easily. For example, in this branch https://github.com/ChuanqiXu9/llvm-project/tree/MyP1689, we can compile the HelloWorld examples by cmake with some little changes.