tinygo/compiler
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
..
ircheck all: remove pointer ElementType calls 2022-10-19 22:23:19 +02:00
llvmutil compiler: move some llvmutil code into the compiler 2023-01-18 08:24:42 +01:00
testdata compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
alias.go all: add type parameter to CreateCall 2022-10-19 22:23:19 +02:00
asserts.go compiler: add support for new unsafe slice/string functions 2023-01-17 08:38:54 +01:00
atomic.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
calls.go all: remove pointer ElementType calls 2022-10-19 22:23:19 +02:00
channel.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
compiler.go compiler: correctly generate code for local named types 2023-03-21 22:22:03 +01:00
compiler_test.go compiler: zero struct padding during map operations 2023-02-25 22:40:08 +01:00
defer.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
errors.go all: fix staticcheck warnings 2021-09-27 15:47:12 +02:00
func.go compiler: correctly generate code for local named types 2023-03-21 22:22:03 +01:00
gc.go wasm: avoid miscompile with ThinLTO 2023-01-18 08:24:42 +01:00
goroutine.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
inlineasm.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
interface.go compiler: correctly generate code for local named types 2023-03-21 22:22:03 +01:00
interrupt.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
intrinsics.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
llvm.go wasm: avoid miscompile with ThinLTO 2023-01-18 08:24:42 +01:00
map.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
sizes.go compiler: fix unsafe.Sizeof for chan and map values 2022-09-01 03:53:27 +02:00
symbol.go compiler: add alloc attributes to runtime.alloc 2023-03-22 00:34:43 +01:00
syscall.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00
volatile.go compiler; add position information to createConstant 2023-03-05 17:13:16 -08:00