tinygo/transform/testdata
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
..
allocs.ll transform: do not lower zero-sized alloc to alloca 2021-04-12 08:11:28 +02:00
allocs.out.ll transform: do not lower zero-sized alloc to alloca 2021-04-12 08:11:28 +02:00
allocs2.go compiler: improve position information 2021-04-26 16:15:57 +02:00
coroutines.ll arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
coroutines.out.ll arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
func-lowering.ll compiler: decouple func lowering from interface type codes 2021-04-12 12:07:42 +02:00
func-lowering.out.ll compiler: decouple func lowering from interface type codes 2021-04-12 12:07:42 +02:00
gc-globals.ll transform: do not track const globals 2020-02-24 21:04:50 +01:00
gc-globals.out.ll support WASI target (#1373) 2020-09-29 21:58:03 +02:00
gc-stackslots.ll transform: track 0-index GEPs 2020-07-16 20:50:23 +02:00
gc-stackslots.out.ll support WASI target (#1373) 2020-09-29 21:58:03 +02:00
globals-function-sections.ll compiler: move ApplyFunctionSections to transform package 2020-03-19 19:56:08 +01:00
globals-function-sections.out.ll compiler: move ApplyFunctionSections to transform package 2020-03-19 19:56:08 +01:00
interface.ll transform: don't rely on struct name of runtime.typecodeID 2021-04-08 11:40:59 +02:00
interface.out.ll transform: don't rely on struct name of runtime.typecodeID 2021-04-08 11:40:59 +02:00
interrupt-avr.ll avr: fix target triple 2020-06-30 20:48:42 +02:00
interrupt-avr.out.ll avr: fix target triple 2020-06-30 20:48:42 +02:00
interrupt-cortexm.ll all: add compiler support for interrupts 2020-01-20 21:19:12 +01:00
interrupt-cortexm.out.ll main: switch to LLVM 10 2020-04-09 20:23:51 +02:00
maps.ll all: move OptimizeMaps to transforms and add tests 2019-09-15 21:26:27 +02:00
maps.out.ll all: move OptimizeMaps to transforms and add tests 2019-09-15 21:26:27 +02:00
panic.ll compiler: move ReplacePanicsWithTrap pass to transforms 2019-11-16 18:41:28 +01:00
panic.out.ll compiler: move ReplacePanicsWithTrap pass to transforms 2019-11-16 18:41:28 +01:00
reflect-implements.ll transform: optimize reflect.Type Implements() method 2021-03-28 14:00:37 +02:00
reflect-implements.out.ll transform: optimize reflect.Type Implements() method 2021-03-28 14:00:37 +02:00
stacksize.ll arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
stacksize.out.ll arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
stringequal.ll transform: optimize string comparisons against "" 2021-03-18 17:22:00 +01:00
stringequal.out.ll transform: optimize string comparisons against "" 2021-03-18 17:22:00 +01:00
stringtobytes.ll compiler: move OptimizeStringToBytes to transform package 2019-09-22 08:25:50 +02:00
stringtobytes.out.ll compiler: move OptimizeStringToBytes to transform package 2019-09-22 08:25:50 +02:00
wasm-abi.ll compiler: move wasm ABI workaround to transform package 2020-01-28 19:29:09 +01:00
wasm-abi.out.ll main: switch to LLVM 10 2020-04-09 20:23:51 +02:00