tinygo/compiler/testdata
Ayke van Laethem 79ba6a50c3 compiler: insert basic blocks at an appropriate location
For example, this commit moves the 'throw' branch of an assertion (nil
check, slice index check, etc) to the end of the function while
inserting the "continue" branch right after the insert location. This
makes the resulting IR easier to follow.

For some reason, this also reduces code size a bit on average. The
TinyGo smoke tests saw a reduction of 0.22%, mainly from WebAssembly.
The drivers repo saw little average change in code size (-0.01%).

This commit also adds a few compiler tests for the defer keyword.
2022-06-16 07:59:21 +02:00
..
basic.go compiler: properly implement div and rem operations 2021-10-28 15:55:02 +02:00
basic.ll compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00
channel.go compiler: avoid zero-sized alloca in channel operations 2021-09-09 11:24:52 +02:00
channel.ll all: update to LLVM 14 2022-04-23 08:45:46 +02:00
defer-cortex-m-qemu.ll compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02: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 all: update to LLVM 14 2022-04-23 08:45:46 +02:00
func.go compiler: add func tests 2021-04-12 12:07:42 +02:00
func.ll compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00
gc.go transform: remove switched func lowering 2022-01-19 14:42:02 -05:00
gc.ll all: update to LLVM 14 2022-04-23 08:45:46 +02:00
go1.17.go compiler: add support for new language features of Go 1.17 2021-08-30 09:18:58 +02:00
go1.17.ll compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00
goroutine-cortex-m-qemu-tasks.ll compiler: remove parentHandle from calling convention 2022-01-19 14:42:02 -05:00
goroutine-wasm-asyncify.ll all: update to LLVM 14 2022-04-23 08:45:46 +02: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: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00
intrinsics-cortex-m-qemu.ll compiler: remove parentHandle from calling convention 2022-01-19 14:42:02 -05:00
intrinsics-wasm.ll all: update to LLVM 14 2022-04-23 08:45:46 +02:00
intrinsics.go compiler: move LLVM math builtin support into the compiler 2021-08-10 20:08:27 +02:00
pointer.go compiler: refactor and add tests 2021-01-15 14:43:43 +01:00
pointer.ll all: update to LLVM 14 2022-04-23 08:45:46 +02:00
pragma.go compiler: add function and global section pragmas 2021-06-24 15:00:30 +02:00
pragma.ll all: update to LLVM 14 2022-04-23 08:45:46 +02:00
slice.go compiler: add *ssa.MakeSlice bounds tests 2021-08-17 08:16:27 +02:00
slice.ll compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00
string.go compiler: fix indices into strings and arrays 2021-11-13 11:04:24 +01:00
string.ll compiler: insert basic blocks at an appropriate location 2022-06-16 07:59:21 +02:00