tinygo/compiler/testdata
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
..
basic.go compiler: fix stack overflow when creating recursive pointer types 2022-12-22 17:45:05 +01:00
basic.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
channel.go compiler: avoid zero-sized alloca in channel operations 2021-09-09 11:24:52 +02:00
channel.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
defer-cortex-m-qemu.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
defer.go compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00
float.go compiler: test float to int conversions and fix upper-bound calculation 2021-01-19 14:02:32 +01:00
float.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
func.go compiler: add func tests 2021-04-12 12:07:42 +02:00
func.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
gc.go transform: remove switched func lowering 2022-01-19 14:42:02 -05:00
gc.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
generics.go compiler: implement unsafe.Alignof and unsafe.Sizeof for generic code 2022-07-28 15:43:51 +02:00
generics.ll compiler: implement unsafe.Alignof and unsafe.Sizeof for generic code 2022-07-28 15:43:51 +02:00
go1.20.go compiler: add support for new unsafe slice/string functions 2023-01-17 08:38:54 +01:00
go1.20.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
goroutine-cortex-m-qemu-tasks.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
goroutine-wasm-asyncify.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
goroutine.go compiler: add support for the go keyword on interface methods 2021-10-31 14:17:25 +01:00
interface.go compiler: simplify interface lowering 2021-10-31 14:17:25 +01:00
interface.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
pointer.go compiler: remove unsafe.Pointer(uintptr(v) + idx) optimization 2023-03-03 16:55:13 +01:00
pointer.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
pragma.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
pragma.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
slice.go all: drop support for Go 1.16 and Go 1.17 2022-08-30 12:38:06 +02:00
slice.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
string.go compiler: fix indices into strings and arrays 2021-11-13 11:04:24 +01:00
string.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
zeromap.go compiler: zero struct padding during map operations 2023-02-25 22:40:08 +01:00
zeromap.ll compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00