
This commit switches from the previous behavior of compiling the whole program at once, to compiling every package in parallel and linking the LLVM bitcode files together for further whole-program optimization. This is a small performance win, but it has several advantages in the future: - There are many more things that can be done per package in parallel, avoiding the bottleneck at the end of the compiler phase. This should speed up the compiler futher. - This change is a necessary step towards a non-LTO build mode for fast incremental builds that only rebuild the changed package, when compiler speed is more important than binary size. - This change refactors the compiler in such a way that it will be easier to inspect the IR for one package only. Inspecting this IR will be very helpful for compiler developers.
16 строки
573 Б
Modula-2
16 строки
573 Б
Modula-2
module github.com/tinygo-org/tinygo
|
|
|
|
go 1.13
|
|
|
|
require (
|
|
github.com/blakesmith/ar v0.0.0-20150311145944-8bd4349a67f2
|
|
github.com/chromedp/cdproto v0.0.0-20210113043257-dabd2f2e7693
|
|
github.com/chromedp/chromedp v0.6.4
|
|
github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf
|
|
github.com/marcinbor85/gohex v0.0.0-20200531091804-343a4b548892
|
|
github.com/mattn/go-colorable v0.1.8
|
|
go.bug.st/serial v1.1.2
|
|
golang.org/x/sys v0.0.0-20210113181707-4bcb84eeeb78
|
|
golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2
|
|
tinygo.org/x/go-llvm v0.0.0-20210308112806-9ef958b6bed4
|
|
)
|