Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade tinygo to v29.0.0 #6

Closed
wants to merge 65 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
e041a8e
goenv: update to new v0.29.0 development version
sago35 Jun 12, 2023
785eb93
ci: rename release-double-zipped to something more useful
aykevl Jun 11, 2023
91ee4d0
os: define ErrNoDeadline
svrakitin Jun 12, 2023
0cb5d33
reflect: use .key() instead of a type assert
aykevl Jun 10, 2023
6d5f4c4
ci: update Node.js from version 14 to version 16
aykevl Apr 30, 2023
4d2a6d2
wasm: remove i64 workaround, use BigInt instead
aykevl Apr 30, 2023
cec2379
example: simplify pininterrupt
ysoldak Jun 12, 2023
4619896
nrf: wait for stop condition after reading from the I2C bus
aykevl Jun 21, 2023
ad32d26
machine/usb/hid,joystick: fix hidreport (3) (#3802)
sago35 Jul 1, 2023
dd4e9e8
reflect: remove unecessary heap allocations
soypat Jun 24, 2023
fdc4bbb
reflect: Add FieldByNameFunc
rockwotj Jun 22, 2023
93cc03b
docker: update clang to version 15
radkomih Jun 23, 2023
ef72c5b
reflect: fix iterating over maps with interface{} keys
dgryski Jun 16, 2023
acba074
compiler,reflect: NumMethods reports exported methods only
dgryski Jun 17, 2023
08b3a45
compiler: update .ll test output
dgryski Jun 17, 2023
dc91c96
example: adjust time offset
ysoldak Jan 21, 2023
db8d807
rp2040: add missing suffix to CMD_READ_STATUS
oxplot Jul 3, 2023
6efa940
machine/macropad_rp2040: add machine.BUTTON
sago35 Jul 2, 2023
9aadea9
main: improve detection of filesystems
aykevl Jun 30, 2023
04601a2
modules: add submodule for Renesas SVD file mirror repo
deadprogram May 14, 2023
7755f23
tools/gen-device-svd: small changes needed for Renesas MCUs
deadprogram May 14, 2023
3871b83
make: add make task to generate Renesas device wrappers
deadprogram May 14, 2023
9126b95
machine/samd51: fix i2cTimeout was decreasing due to cache activation
sago35 Jul 6, 2023
e98dfd6
reflect: implement Value.Grow
aykevl Jul 6, 2023
46d2696
wasi: allow zero inodes when reading directories
achille-roussel Jul 6, 2023
e075e05
main: use `go env` instead of doing all detection manually
aykevl May 23, 2023
fffad84
reflect: add SetZero
aykevl Jul 7, 2023
c83f712
machine/rp2040: wait for 1000 us after flash reset to avoid issues wi…
deadprogram Jul 4, 2023
a7b205c
machine.UART refactor (#3832)
soypat Jul 15, 2023
14ddba8
nrf: add I2C timeout
aykevl Jul 13, 2023
4da1f6b
rp2040:add NoPin support
soypat Jul 15, 2023
01d2ef3
sync: add implementation from upstream Go for OnceFunc, OnceValue, an…
deadprogram Jul 18, 2023
00d46bd
avr: pin change interrupt
ysoldak Jul 24, 2023
d845f1e
wasm: fix functions exported through //export
aykevl Jul 28, 2023
5b581d8
compiler: add compiler-rt and wasm symbols to table
charlie-haley Jul 26, 2023
5f2e72f
compiler: add compiler-rt to wasm.json
charlie-haley Jul 31, 2023
d1eb642
machine/usb: remove usbDescriptorConfig
sago35 Jul 2, 2023
069e4f0
machine/usb: allow USB Endpoint settings to be changed externally
sago35 Aug 1, 2023
395ee2d
machine/usb: refactor endpoint configuration
sago35 Aug 1, 2023
c51f5ce
machine/usb/hid: add RxHandler interface
sago35 Jul 3, 2023
215dd3f
machine/usb/hid: rename Handler() to TxHandler()
sago35 Aug 3, 2023
c25dd0a
testing: add Testing function
aykevl Jul 26, 2023
a93f0ed
all: Go 1.21 support
aykevl Jul 6, 2023
f791c82
compiler: add min and max builtin support
aykevl Jul 6, 2023
a2f886a
compiler: implement clear builtin for slices
aykevl Jul 7, 2023
f1e25a1
compiler: implement clear builtin for maps
aykevl Jul 7, 2023
62294fe
compiler: improve panic message when a runtime call is unavailable
aykevl Jul 7, 2023
67ec722
board: add AKIZUKI DENSHI AE-RP2040
sago35 Aug 4, 2023
72270f9
all: use https for renesas submodule #3856
kenbell Aug 7, 2023
0ef86e1
Add support for HID Keyboard LEDs
Unrud Aug 5, 2023
253dbe3
builder: update message for max supported Go version
deadprogram Aug 9, 2023
ab64e21
build: switch GH actions builds to use Go 1.21 final release
deadprogram Aug 9, 2023
59cc7d4
docker: use Go 1.21 for Docker dev container build
deadprogram Aug 11, 2023
37a4fa2
modules: update to go-serial package v1.6.0
deadprogram Aug 10, 2023
bfe9ee3
rp2040: move flash related functions into separate file from C import…
deadprogram Aug 12, 2023
9037bf8
main: add target JSON file in `tinygo info` output
aykevl Aug 11, 2023
756cdf4
loader: merge go.env file which is now required starting in Go 1.21 t…
deadprogram Aug 12, 2023
f4375d0
samd51,rp2040,nrf528xx,stm32: implement watchdog
kenbell Aug 6, 2023
a545f17
wasm: add support for GOOS=wasip1
aykevl Aug 10, 2023
3e2471d
adding new uf2 target for PCA10056 (#3765)
jpconstantineau Aug 19, 2023
e3bc6da
make: add task to check NodeJS version before running tests
deadprogram Aug 19, 2023
806498f
nRF52: set SPI TX/RX lengths even data is empty. Fixes #3868 (#3877)
perttierkkila Aug 24, 2023
a158d31
all: update version for 0.29 release
deadprogram Aug 25, 2023
dc44988
docs: update CHANGELOG for release 0.29
deadprogram Aug 25, 2023
5ca7414
Merge branch 'release' of https://github.com/tinygo-org/tinygo into r…
rockwotj Aug 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Restore LLVM source cache
uses: actions/cache/restore@v3
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:
# We're doing the former here, to keep artifact uploads fast.
uses: actions/upload-artifact@v2
with:
name: release-double-zipped
name: darwin-amd64-double-zipped
path: build/tinygo.darwin-amd64.tar.gz
- name: Smoke tests
shell: bash
Expand All @@ -126,7 +126,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Build TinyGo
run: go install
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
# statically linked binary.
runs-on: ubuntu-latest
container:
image: golang:1.20-alpine
image: golang:1.21-alpine
steps:
- name: Install apk dependencies
# tar: needed for actions/cache@v3
Expand Down Expand Up @@ -135,7 +135,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Install wasmtime
run: |
Expand All @@ -153,6 +153,7 @@ jobs:
tar -C ~/lib -xf tinygo.linux-amd64.tar.gz
ln -s ~/lib/tinygo/bin/tinygo ~/go/bin/tinygo
- run: make tinygo-test-wasi-fast
- run: make tinygo-test-wasip1-fast
- run: make smoketest
assert-test-linux:
# Run all tests that can run on Linux, with LLVM assertions enabled to catch
Expand All @@ -177,12 +178,12 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: '14'
node-version: '16'
- name: Install wasmtime
run: |
mkdir -p $HOME/.wasmtime $HOME/.wasmtime/bin
Expand Down Expand Up @@ -290,7 +291,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Restore LLVM source cache
uses: actions/cache/restore@v3
Expand Down Expand Up @@ -407,7 +408,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Restore LLVM source cache
uses: actions/cache/restore@v3
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Restore cached LLVM source
uses: actions/cache/restore@v3
Expand Down Expand Up @@ -118,7 +118,7 @@ jobs:
# We're doing the former here, to keep artifact uploads fast.
uses: actions/upload-artifact@v3
with:
name: release-double-zipped
name: windows-amd64-double-zipped
path: build/release/release.zip

smoke-test-windows:
Expand All @@ -143,12 +143,12 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Download TinyGo build
uses: actions/download-artifact@v2
with:
name: release-double-zipped
name: windows-amd64-double-zipped
path: build/
- name: Unzip TinyGo build
shell: bash
Expand All @@ -173,12 +173,12 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Download TinyGo build
uses: actions/download-artifact@v2
with:
name: release-double-zipped
name: windows-amd64-double-zipped
path: build/
- name: Unzip TinyGo build
shell: bash
Expand Down Expand Up @@ -209,12 +209,12 @@ jobs:
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: '1.20'
go-version: '1.21'
cache: true
- name: Download TinyGo build
uses: actions/download-artifact@v2
with:
name: release-double-zipped
name: windows-amd64-double-zipped
path: build/
- name: Unzip TinyGo build
shell: bash
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@
[submodule "lib/macos-minimal-sdk"]
path = lib/macos-minimal-sdk
url = https://github.com/aykevl/macos-minimal-sdk.git
[submodule "lib/renesas-svd"]
path = lib/renesas-svd
url = https://github.com/tinygo-org/renesas-svd.git
71 changes: 71 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,74 @@
0.29.0
---

* **general**
- Go 1.21 support
- use https for renesas submodule #3856
- ci: rename release-double-zipped to something more useful
- ci: update Node.js from version 14 to version 16
- ci: switch GH actions builds to use Go 1.21 final release
- docker: update clang to version 15
- docker: use Go 1.21 for Docker dev container build
- `main`: add target JSON file in `tinygo info` output
- `main`: improve detection of filesystems
- `main`: use `go env` instead of doing all detection manually
- make: add make task to generate Renesas device wrappers
- make: add task to check NodeJS version before running tests
- add submodule for Renesas SVD file mirror repo
- update to go-serial package v1.6.0
- `testing`: add Testing function
- `tools/gen-device-svd`: small changes needed for Renesas MCUs
* **compiler**
- `builder`: update message for max supported Go version
- `compiler,reflect`: NumMethods reports exported methods only
- `compiler`: add compiler-rt and wasm symbols to table
- `compiler`: add compiler-rt to wasm.json
- `compiler`: add min and max builtin support
- `compiler`: implement clear builtin for maps
- `compiler`: implement clear builtin for slices
- `compiler`: improve panic message when a runtime call is unavailable
- `compiler`: update .ll test output
- `loader`: merge go.env file which is now required starting in Go 1.21 to correctly get required packages
* **standard library**
- `os`: define ErrNoDeadline
- `reflect`: Add FieldByNameFunc
- `reflect`: add SetZero
- `reflect`: fix iterating over maps with interface{} keys
- `reflect`: implement Value.Grow
- `reflect`: remove unecessary heap allocations
- `reflect`: use .key() instead of a type assert
- `sync`: add implementation from upstream Go for OnceFunc, OnceValue, and OnceValues
* **targets**
- `machine`: UART refactor (#3832)
- `machine/avr`: pin change interrupt
- `machine/macropad_rp2040`: add machine.BUTTON
- `machine/nrf`: add I2C timeout
- `machine/nrf`: wait for stop condition after reading from the I2C bus
- `machine/nRF52`: set SPI TX/RX lengths even data is empty. Fixes #3868 (#3877)
- `machine/rp2040`: add missing suffix to CMD_READ_STATUS
- `machine/rp2040`: add NoPin support
- `machine/rp2040`: move flash related functions into separate file from C imports for correct - LSP. Fixes #3852
- `machine/rp2040`: wait for 1000 us after flash reset to avoid issues with busy USB bus
- `machine/samd51,rp2040,nrf528xx,stm32`: implement watchdog
- `machine/samd51`: fix i2cTimeout was decreasing due to cache activation
- `machine/usb`: Add support for HID Keyboard LEDs
- `machine/usb`: allow USB Endpoint settings to be changed externally
- `machine/usb`: refactor endpoint configuration
- `machine/usb`: remove usbDescriptorConfig
- `machine/usb/hid,joystick`: fix hidreport (3) (#3802)
- `machine/usb/hid`: add RxHandler interface
- `machine/usb/hid`: rename Handler() to TxHandler()
- `wasi`: allow zero inodes when reading directories
- `wasm`: add support for GOOS=wasip1
- `wasm`: fix functions exported through //export
- `wasm`: remove i64 workaround, use BigInt instead
- `example`: adjust time offset
- `example`: simplify pininterrupt
* **boards**
- `targets`: add AKIZUKI DENSHI AE-RP2040
- `targets`: adding new uf2 target for PCA10056 (#3765)


0.28.0
---

Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# tinygo-llvm stage obtains the llvm source for TinyGo
FROM golang:1.20 AS tinygo-llvm
FROM golang:1.21 AS tinygo-llvm

RUN apt-get update && \
apt-get install -y apt-utils make cmake clang-11 ninja-build
apt-get install -y apt-utils make cmake clang-15 ninja-build

COPY ./Makefile /tinygo/Makefile

Expand Down
26 changes: 25 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,10 @@ gen-device-rp: build/gen-device-svd
./build/gen-device-svd -source=https://github.com/posborne/cmsis-svd/tree/master/data/RaspberryPi lib/cmsis-svd/data/RaspberryPi/ src/device/rp/
GO111MODULE=off $(GO) fmt ./src/device/rp

gen-device-renesas: build/gen-device-svd
./build/gen-device-svd -source=https://github.com/tinygo-org/renesas-svd lib/renesas-svd/ src/device/renesas/
GO111MODULE=off $(GO) fmt ./src/device/renesas

# Get LLVM sources.
$(LLVM_PROJECTDIR)/llvm:
git clone -b xtensa_release_15.x --depth=1 https://github.com/espressif/llvm-project $(LLVM_PROJECTDIR)
Expand Down Expand Up @@ -263,12 +267,22 @@ lib/wasi-libc/sysroot/lib/wasm32-wasi/libc.a:
@if [ ! -e lib/wasi-libc/Makefile ]; then echo "Submodules have not been downloaded. Please download them using:\n git submodule update --init"; exit 1; fi
cd lib/wasi-libc && make -j4 EXTRA_CFLAGS="-O2 -g -DNDEBUG -mnontrapping-fptoint -msign-ext" MALLOC_IMPL=none CC=$(CLANG) AR=$(LLVM_AR) NM=$(LLVM_NM)

# Check for Node.js used during WASM tests.
NODEJS_VERSION := $(word 1,$(subst ., ,$(shell node -v | cut -c 2-)))
MIN_NODEJS_VERSION=16

.PHONY: check-nodejs-version
check-nodejs-version:
ifeq (, $(shell which node))
@echo "Install NodeJS version 16+ to run tests."; exit 1;
endif
@if [ $(NODEJS_VERSION) -lt $(MIN_NODEJS_VERSION) ]; then echo "Install NodeJS version 16+ to run tests."; exit 1; fi

# Build the Go compiler.
tinygo:
@if [ ! -f "$(LLVM_BUILDDIR)/bin/llvm-config" ]; then echo "Fetch and build LLVM first by running:"; echo " make llvm-source"; echo " make $(LLVM_BUILDDIR)"; exit 1; fi
CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GOENVFLAGS) $(GO) build -buildmode exe -o build/tinygo$(EXE) -tags "byollvm osusergo" -ldflags="-X github.com/tinygo-org/tinygo/goenv.GitSha1=`git rev-parse --short HEAD`" .
test: wasi-libc
test: wasi-libc check-nodejs-version
CGO_CPPFLAGS="$(CGO_CPPFLAGS)" CGO_CXXFLAGS="$(CGO_CXXFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GO) test $(GOTESTFLAGS) -timeout=20m -buildmode exe -tags "byollvm osusergo" ./builder ./cgo ./compileopts ./compiler ./interp ./transform .

# Standard library packages that pass tests on darwin, linux, wasi, and windows, but take over a minute in wasi
Expand Down Expand Up @@ -413,8 +427,12 @@ tinygo-bench-fast:
# Same thing, except for wasi rather than the current platform.
tinygo-test-wasi:
$(TINYGO) test -target wasi $(TEST_PACKAGES_FAST) $(TEST_PACKAGES_SLOW) ./tests/runtime_wasi
tinygo-test-wasip1:
GOOS=wasip1 GOARCH=wasm $(TINYGO) test $(TEST_PACKAGES_FAST) $(TEST_PACKAGES_SLOW) ./tests/runtime_wasi
tinygo-test-wasi-fast:
$(TINYGO) test -target wasi $(TEST_PACKAGES_FAST) ./tests/runtime_wasi
tinygo-test-wasip1-fast:
GOOS=wasip1 GOARCH=wasm $(TINYGO) test $(TEST_PACKAGES_FAST) ./tests/runtime_wasi
tinygo-bench-wasi:
$(TINYGO) test -target wasi -bench . $(TEST_PACKAGES_FAST) $(TEST_PACKAGES_SLOW)
tinygo-bench-wasi-fast:
Expand Down Expand Up @@ -478,12 +496,16 @@ smoketest:
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=pca10040 examples/test
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=pca10040 examples/time-offset
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=wioterminal examples/hid-mouse
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=wioterminal examples/hid-keyboard
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=feather-rp2040 examples/i2c-target
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=feather-rp2040 examples/watchdog
@$(MD5SUM) test.hex
# test simulated boards on play.tinygo.org
ifneq ($(WASM), 0)
$(TINYGO) build -size short -o test.wasm -tags=arduino examples/blinky1
Expand Down Expand Up @@ -642,6 +664,8 @@ endif
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=gopher-badge examples/blinky1
@$(MD5SUM) test.hex
$(TINYGO) build -size short -o test.hex -target=ae-rp2040 examples/echo
@$(MD5SUM) test.hex
# test pwm
$(TINYGO) build -size short -o test.hex -target=itsybitsy-m0 examples/pwm
@$(MD5SUM) test.hex
Expand Down
20 changes: 19 additions & 1 deletion builder/ar.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"path/filepath"
"time"

wasm "github.com/aykevl/go-wasm"
"github.com/blakesmith/ar"
)

Expand Down Expand Up @@ -74,8 +75,25 @@ func makeArchive(arfile *os.File, objs []string) error {
fileIndex int
}{symbol.Name, i})
}
} else if dbg, err := wasm.Parse(objfile); err == nil {
for _, s := range dbg.Sections {
switch section := s.(type) {
case *wasm.SectionImport:
for _, ln := range section.Entries {

if ln.Kind != wasm.ExtKindFunction {
// Not a function
continue
}
symbolTable = append(symbolTable, struct {
name string
fileIndex int
}{ln.Field, i})
}
}
}
} else {
return fmt.Errorf("failed to open file %s as ELF or PE/COFF: %w", objpath, err)
return fmt.Errorf("failed to open file %s as WASM, ELF or PE/COFF: %w", objpath, err)
}

// Close file, to avoid issues with too many open files (especially on
Expand Down
25 changes: 11 additions & 14 deletions builder/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,19 +217,27 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe
var packageJobs []*compileJob
packageActionIDJobs := make(map[string]*compileJob)

if config.Options.GlobalValues == nil {
config.Options.GlobalValues = make(map[string]map[string]string)
}
if config.Options.GlobalValues["runtime"]["buildVersion"] == "" {
version := goenv.Version
if strings.HasSuffix(goenv.Version, "-dev") && goenv.GitSha1 != "" {
version += "-" + goenv.GitSha1
}
if config.Options.GlobalValues == nil {
config.Options.GlobalValues = make(map[string]map[string]string)
}
if config.Options.GlobalValues["runtime"] == nil {
config.Options.GlobalValues["runtime"] = make(map[string]string)
}
config.Options.GlobalValues["runtime"]["buildVersion"] = version
}
if config.TestConfig.CompileTestBinary {
// The testing.testBinary is set to "1" when in a test.
// This is needed for testing.Testing() to work correctly.
if config.Options.GlobalValues["testing"] == nil {
config.Options.GlobalValues["testing"] = make(map[string]string)
}
config.Options.GlobalValues["testing"]["testBinary"] = "1"
}

var embedFileObjects []*compileJob
for _, pkg := range lprogram.Sorted() {
Expand Down Expand Up @@ -1054,17 +1062,6 @@ func optimizeProgram(mod llvm.Module, config *compileopts.Config) error {
return err
}

// Browsers cannot handle external functions that have type i64 because it
// cannot be represented exactly in JavaScript (JS only has doubles). To
// keep functions interoperable, pass int64 types as pointers to
// stack-allocated values.
if config.WasmAbi() == "js" {
err := transform.ExternalInt64AsPtr(mod, config)
if err != nil {
return err
}
}

// Optimization levels here are roughly the same as Clang, but probably not
// exactly.
optLevel, sizeLevel, inlinerThreshold := config.OptLevels()
Expand Down
Loading