mirror of https://github.com/tinygo-org/tinygo.git
Tree:
c3032660c9
add-nrfjprog-settings
alpine-static-3
ardnew-usb-common
atsame5x-adc
avr-compiler-rt
avr-gc-precise
aykevl-llvmfix-perf
bdwgc
bitcode-path
block-reading-of-uart-and-usb
boardsimu
build-llvm-image
build-ssa-in-jobs
builder-parallel
builder-real-thinlto
builder-rwmutex
cgo-noescape
cgo-stdint-alias
ch32v003
ci-macos-arm64
cortexm-optimize-HardFault
debug-flag
dependabot/go_modules/golang.org/x/net-0.23.0
dev
device
device-files
dkegel-gc-leaking-noinline
esp32-i2c
espnet
fault-handler
feature/hifive-spi-improvement
file-embed
fix-docker-llvm-build
fix-flash-eraseblock
fix-heap2stack-alignment
fix-samd21-sdi
flash-bounds-api
gc-precise
gen-device-svd
get-default-port
goasm3
i2c-freq-constants
i2c-mimxrt1062
i386-baremetal
improve-msd-flash
interface-type-assert-table
interp-max-depth
interrupts-gba
llvm19
machine-explicit-pins
machine-pinmodes
machinecheck
make-smoketest-faster-make-j
makefile-fix-node-check
mips
nix-buildid
parallel-test
pkgpath-dont-redefine
pr3119
print-all-errors
pybd-sf2
race-debug
race-impossible-stacktrace
readme-update-windows
reflect-AssignableTo
reflect-chan-runtime-mstats
reflect-map-keyflag
release
renesas-repo
revert-1574-floatsat
rp2040-spi-fix-baud
rp2350-add
scheduler-main
serial-none-noop-read
shadowstack
simplify-clang-detect
slog
smoketest-with-go-script
smoketest-with-go-script-org
smoketest-with-go-script-org2
spi-dma
spi-txn-atsamd51
test-new-packages
test-other-architectures
testing-bench-cleanup
tmp-teensy40
tools-svd-parallel
unix-signal
usb-common-samd51-iad
usb-refactor-01-rp2040
vscode
wasip1-no-json
wasm-extension
wasm-js-syscall
wasm-legacy
wasm-malloc-track
wasm-multi-value
wasm-no-malloc
wasm-recover
v0.1
v0.10.0
v0.11.0
v0.12.0
v0.13.0
v0.13.1
v0.14.0
v0.14.1
v0.15.0
v0.16.0
v0.17.0
v0.18.0
v0.19.0
v0.2.0
v0.20.0
v0.21.0
v0.22.0
v0.23.0
v0.24.0
v0.25.0
v0.25.0-beta1
v0.26.0
v0.27.0
v0.28.0
v0.28.1
v0.29.0
v0.3.0
v0.30.0
v0.31.0
v0.31.1
v0.31.2
v0.32.0
v0.33.0
v0.4.0
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.7.1
v0.8.0
v0.9.0
${ noResults }
3 Commits (c3032660c9e2e1fd5a188c6ac54902637a77b975)
Author | SHA1 | Message | Date |
---|---|---|---|
Ayke van Laethem | 83a949647f |
builder: refactor link file inputs
Add a 'result' member to the compileJob struct which is used by the link job to get all the paths that should be linked together. This is not yet necessary (the paths are fixed), but soon the paths are only known after a linker dependency has run. |
4 years ago |
Ayke van Laethem | ab41c79de7 |
builder: wait for running jobs to finish
This avoids external commands from finishing after the TinyGo command exits. For example, when testing out compiler-rt on AVR, I got the following error: $ go install; and tinygo run -target=atmega1284p ./testdata/calls.go [... Clang error removed ...] error: failed to build /home/ayke/src/github.com/tinygo-org/tinygo/lib/compiler-rt/lib/builtins/extendsfdf2.c: exit status 1 error: unable to open output file '/tmp/tinygo361380649/build-lib-compiler-rt/ffsdi2.c.o': 'No such file or directory' 1 error generated. That last error ("unable to open output file") is a spurious error because the temporary directory has already been removed. This commit waits until all running jobs have finished before returning, so that these errors won't happen. |
4 years ago |
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`. |
4 years ago |