tinygo/transform/testdata
Ayke van Laethem bcce296ca3 transform: optimize reflect.Type Implements() method
This commit adds a new transform that converts reflect Implements()
calls to runtime.interfaceImplements. At the moment, the Implements()
method is not yet implemented (how ironic) but if the value passed to
Implements is known at compile time the method call can be optimized to
runtime.interfaceImplements to make it a regular interface assert.

This commit is the last change necessary to add basic support for the
encoding/json package. The json package is certainly not yet fully
supported, but some trivial objects can be converted to JSON.
2021-03-28 14:00:37 +02:00
..
allocs.ll fix incorrect starting value for optimized allocations in a loop 2019-11-13 16:45:09 +01:00
allocs.out.ll transform: allow updating tests with -update flag 2020-04-09 20:23:51 +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 arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
func-lowering.out.ll arm: automatically determine stack sizes 2020-08-27 19:23:22 +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 compiler: do not check for impossible type asserts 2021-03-23 14:32:33 +01:00
interface.out.ll compiler: do not check for impossible type asserts 2021-03-23 14:32:33 +01: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