tinygo/transform
Ayke van Laethem f180339d6b compiler: add alloc attributes to runtime.alloc
This gives a small improvement now, and is needed to be able to use the
Heap2Stack transform that's available in the Attributor pass. This
Heap2Stack transform could replace our custom OptimizeAllocs pass.

Most of the changes are just IR that changed, the actual change is
relatively small.

To give an example of why this is useful, here is the code size before
this change:

    $ tinygo build -o test -size=short ./testdata/stdlib.go
       code    data     bss |   flash     ram
      95620    1812     968 |   97432    2780

    $ tinygo build -o test -size=short ./testdata/stdlib.go
       code    data     bss |   flash     ram
      95380    1812     968 |   97192    2780

That's a 0.25% reduction. Not a whole lot, but nice for such a small
patch.
2023-03-22 00:34:43 +01:00
..
testdata compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
allocs.go all: remove pointer ElementType calls 2022-10-19 22:23:19 +02:00
allocs_test.go all: update _test.go files for ioutil changes 2022-08-07 10:32:23 +02:00
errors.go refactor coroutine lowering and tasks 2020-03-17 12:16:10 +01:00
gc.go transform: remove duplicate if in gc transform 2022-11-18 20:19:47 +01:00
gc_test.go gc: drop support for 'precise' globals 2022-06-01 21:21:30 +02:00
interface-lowering.go transform: fix non-determinism in the interface lowering pass 2023-03-02 18:47:09 +01:00
interface-lowering_test.go compiler: add "target-cpu" and "target-features" attributes 2021-11-10 11:16:13 +01:00
interrupt.go ci: add support for LLVM 15 2022-10-19 22:23:19 +02:00
interrupt_test.go transform: refactor interrupt lowering 2021-11-06 09:40:15 +01:00
llvm.go ci: add support for LLVM 15 2022-10-19 22:23:19 +02:00
maps.go all: move OptimizeMaps to transforms and add tests 2019-09-15 21:26:27 +02:00
maps_test.go all: add LLVM 12 support 2021-11-30 21:53:16 +01:00
optimizer.go all: refactor reflect package 2023-02-17 22:54:34 +01:00
panic.go all: add type parameter to CreateCall 2022-10-19 22:23:19 +02:00
panic_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
rtcalls.go transform: fix OptimizeReflectImplements pass for new named elem offset 2023-03-19 17:45:43 +01:00
rtcalls_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
stacksize.go transform: add debug information to internal/task.stackSize 2023-03-08 07:09:46 +01:00
stacksize_test.go all: add flag for setting the goroutine stack size 2022-09-15 12:43:51 +02:00
transform.go compiler: add "target-cpu" and "target-features" attributes 2021-11-10 11:16:13 +01:00
transform_test.go all: update _test.go files for ioutil changes 2022-08-07 10:32:23 +02:00
util.go compiler: move OptimizeStringToBytes to transform package 2019-09-22 08:25:50 +02:00
wasm-abi.go wasm: remove -wasm-abi= flag 2022-11-04 08:28:26 +01:00
wasm-abi_test.go compiler: add "target-cpu" and "target-features" attributes 2021-11-10 11:16:13 +01:00