Description
Historically emscripten has been built around always using the very latest upstream version of LLVM. Essentially it depends on the top-of-tree version.
However, for the purposes of packaging, reducing install and download size, and making emscripten more portable, it would be nice to start being compatible with the stable version of LLVM.
We have have had many requests for this feature of the years (e.g. #11313)
This would mean more testing since each emscripten release would need to be tested fully against both LLVM stable and LLVM tot. For this reason it probably makes sense to make this move once we fully remove fastcomp (#11319).
The downside is that we will need to add version checks in the emscripten codebase when it depends on new/tot features.
I suggest that we perhaps give this a try starting with LLVM 11. E.g. we support LLVM 11 and tot until LLVM 12 is releases and which point we support LLVM 12 + tot..