tinygo/transform
Ayke van Laethem a4afc3b4b0 compiler: simplify interface lowering
This commit simplifies the IR a little bit: instead of calling
pseudo-functions runtime.interfaceImplements and
runtime.interfaceMethod, real declared functions are being called that
are then defined in the interface lowering pass. This should simplify
the interaction between various transformation passes. It also reduces
the number of lines of code, which is generally a good thing.
2021-10-31 14:17:25 +01:00
..
testdata compiler: simplify interface lowering 2021-10-31 14:17:25 +01:00
allocs.go main: add -print-allocs flag that lets you print all heap allocations 2021-04-22 19:53:42 +02:00
allocs_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
coroutines.go transform (coroutines): move any misplaced entry-block allocas to the start of the entry block before lowering 2021-09-21 20:08:30 +02:00
errors.go refactor coroutine lowering and tasks 2020-03-17 12:16:10 +01:00
func-lowering.go compiler: decouple func lowering from interface type codes 2021-04-12 12:07:42 +02:00
func-lowering_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
gc.go transform: improve GC stack slot pass to work around a bug 2021-08-04 20:06:59 +02:00
gc_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
globals.go compiler: add function and global section pragmas 2021-06-24 15:00:30 +02:00
globals_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
goroutine_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
interface-lowering.go compiler: simplify interface lowering 2021-10-31 14:17:25 +01:00
interface-lowering_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
interrupt.go compiler: add support for recursive function types 2021-10-30 15:55:20 +02:00
interrupt_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
llvm.go runtime/fe310: add support for PLIC interrupts 2020-01-27 19:58:39 +01:00
maps.go all: move OptimizeMaps to transforms and add tests 2019-09-15 21:26:27 +02:00
maps_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
optimizer.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
panic.go compiler: move ReplacePanicsWithTrap pass to transforms 2019-11-16 18:41:28 +01:00
panic_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
reflect.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
reflect_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
rtcalls.go compiler: simplify interface lowering 2021-10-31 14:17:25 +01:00
rtcalls_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
stacksize.go arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
stacksize_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
transform.go all: refactor heap-to-stack transform into the transform package 2019-09-15 21:26:27 +02:00
transform_test.go all: drop support for LLVM 10 2021-10-31 10:44:17 +01:00
util.go compiler: move OptimizeStringToBytes to transform package 2019-09-22 08:25:50 +02:00
wasm-abi.go compiler: simplify interface lowering 2021-10-31 14:17:25 +01:00
wasm-abi_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00