mirror of https://github.com/tinygo-org/tinygo.git
wasmstm32webassemblymicrocontrollerarmavrspiwasiadafruitarduinocircuitplayground-expressgpioi2cllvmmicrobitnrf51nrf52nrf52840samd21tinygo
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
598 B
25 lines
598 B
package transform_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/tinygo-org/tinygo/transform"
|
|
"tinygo.org/x/go-llvm"
|
|
)
|
|
|
|
func TestOptimizeMaps(t *testing.T) {
|
|
t.Parallel()
|
|
testTransform(t, "testdata/maps", func(mod llvm.Module) {
|
|
// Run optimization pass.
|
|
transform.OptimizeMaps(mod)
|
|
|
|
// Run an optimization pass, to clean up the result.
|
|
// This shows that all code related to the map is really eliminated.
|
|
po := llvm.NewPassBuilderOptions()
|
|
defer po.Dispose()
|
|
err := mod.RunPasses("dse,adce", llvm.TargetMachine{}, po)
|
|
if err != nil {
|
|
t.Error("failed to run passes:", err)
|
|
}
|
|
})
|
|
}
|
|
|