mirror of https://github.com/tinygo-org/tinygo.git
Tree:
acba0748f1
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 }
2 Commits (acba0748f1daad128166e09e82badb9f1f0b2a29)
Author | SHA1 | Message | Date |
---|---|---|---|
Ayke van Laethem | 65beddafe8 |
compiler: move OptimizeStringToBytes to transform package
Unfortunately, while doing this I found that it doesn't actually apply in any real-world programs (tested with `make smoketest`), apparently because nil pointer checking messes with the functionattrs pass. I hope to fix that after moving to LLVM 9, which has an optimization that makes nil pointer checking easier to implement. |
5 years ago |
Ayke van Laethem | d905476231 |
all: refactor heap-to-stack transform into the transform package
Also add unit tests. This is the first of several transformation (optimization/lowering) passes that I'd like to move to the new transform package. This separates the compiler from the optimizer. Also, it finally adds unit tests for the compiler, not just end-to-end compilation tests. This should improve robustness and should make it easier to change these transformation passes in the future. While the heap-to-stack transform is relatively simple, other passes are much more complex. Adding unit tests not only helps robustness over time, but also doubles as documentation as to what these transformation passes do exactly. |
5 years ago |