tinygo/transform
Ayke van Laethem c3992bd77b compiler: improve position information
In many cases, position information is not stored in Go SSA instructions
because they don't exit directly in the source code. This includes
implicit type conversions, implicit returns at the end of a function,
the creation of a (hidden) slice when calling a variadic function, and
many other cases. I'm not sure where this information is supposed to
come from, but this patch takes the value (usually) from the value the
instruction refers to. This seems to work well for these implicit
conversions.

I've also added a few extra tests to the heap-to-stack transform pass,
of which one requires this improved position information.
2021-04-26 16:15:57 +02:00
..
testdata compiler: improve position information 2021-04-26 16:15:57 +02: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 main: add -print-allocs flag that lets you print all heap allocations 2021-04-22 19:53:42 +02:00
coroutines.go transform: show better error message in coroutines lowering 2021-03-05 14:42:43 +01: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 support WASI target (#1373) 2020-09-29 21:58:03 +02:00
gc_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
globals.go avr: properly support the .rodata section 2020-10-31 21:06:26 +01: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 transform: don't rely on struct name of runtime.typecodeID 2021-04-08 11:40:59 +02:00
interface-lowering_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
interrupt.go compiler: decouple func lowering from interface type codes 2021-04-12 12:07:42 +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 main: add -print-allocs flag that lets you print all heap allocations 2021-04-22 19:53:42 +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: make reflection sidetables constant globals 2019-12-21 22:59:23 +01:00
rtcalls.go transform: optimize reflect.Type Implements() method 2021-03-28 14:00:37 +02: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 transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
util.go compiler: move OptimizeStringToBytes to transform package 2019-09-22 08:25:50 +02:00
wasm-abi.go builder: add optsize attribute while building the package 2021-04-08 11:40:59 +02:00
wasm-abi_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00