tinygo/builder
Ayke van Laethem d85ac4b3cc builder: parallelize most of the build
This commit parallelizes almost everything that can currently be
parallelized. With that, it also introduces a framework for easily
parallelizing other parts of the compiler.

Code for baremetal targets already compiles slightly faster because it
can parallelize the compilation of supporting assembly files. However,
the speedup is especially noticeable when libraries (compiler-rt,
picolibc) also need to be compiled: they will be compiled in parallel
next to the Go files using all available cores. On my dual core laptop
(4 cores if you count hyperthreading) this cuts compilation time roughly
in half when compiling something for a Cortex-M board after running
`tinygo clean`.
2021-01-24 09:13:02 +01:00
..
ar.go builder: write a symbol table when writing out the compiler-rt lib 2019-11-13 13:52:20 +01:00
build.go builder: parallelize most of the build 2021-01-24 09:13:02 +01:00
buildcache.go builder: parallelize most of the build 2021-01-24 09:13:02 +01:00
builtins.go builder: make sure -fshort-enums is used consistently 2020-04-07 16:17:10 +02:00
cc1as.cpp all: switch to LLVM 11 for static builds 2020-12-10 07:01:32 +01:00
cc1as.h main: switch to LLVM 10 2020-04-09 20:23:51 +02:00
clang.cpp all: switch to LLVM 11 for static builds 2020-12-10 07:01:32 +01:00
commands.go main: switch to LLVM 10 2020-04-09 20:23:51 +02:00
config.go make,builder: incorporate feedback from code review on Go 1.15 update 2020-08-19 08:37:16 +02:00
env.go Make lib64 clang include path check more robust. 2020-11-04 00:04:33 +01:00
error.go compiler: add location information to the IR checker 2019-12-21 20:49:51 +01:00
esp.go esp8266: add support for this chip 2020-09-09 19:17:11 +02:00
jobs.go builder: parallelize most of the build 2021-01-24 09:13:02 +01:00
library.go builder: parallelize most of the build 2021-01-24 09:13:02 +01:00
lld.cpp main: switch to LLVM 10 2020-04-09 20:23:51 +02:00
objcopy.go main: add initial support for (in-development) LLVM 11 2020-10-13 20:23:50 +02:00
picolibc.go builder: fix picolibc include path 2020-04-29 15:41:08 +02:00
sizes.go builder: work around a bug in ld.lld in LLVM 10 2020-04-09 20:23:51 +02:00
tools-builtin.go builder: run tools (clang, ...) as separate processes 2020-04-03 12:41:44 +02:00
tools-external.go builder: run tools (clang, ...) as separate processes 2020-04-03 12:41:44 +02:00
tools.go builder: run tools (clang, ...) as separate processes 2020-04-03 12:41:44 +02:00
uf2.go targets: add target circuitplay-bluefruit 2020-01-06 09:23:39 +01:00