Commits

Erik Eckstein committed 22991b10888
Multi-threaded llvm code generation (experimental). It can be enabled with the -num-threads <n> option. Without this option there should be NFC. When enabled, the LLVM IR is split into multiple modules: one module for each input file. And for each module an output file is generated. All output files must be specified with -o options: for each input file in the command line there must be an -o <outputfile> option. LLVM compilation is performed on each module separately. This means that the generated code is different than with regular -wmo. But performance and code size should be approximately the same because important inter-file optimizations are already done at SIL level (e.g. inlining, specialization). There is still no support in the driver for this feature. Swift SVN r25930