mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-07-26 06:38:42 +00:00
404b65941a
This allows for adding more advanced tests, for example tests that use the compiler package so that test sources can be written in Go instead of LLVM IR.
24 lines
516 B
Go
24 lines
516 B
Go
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.
|
|
pm := llvm.NewPassManager()
|
|
defer pm.Dispose()
|
|
pm.AddDeadStoreEliminationPass()
|
|
pm.Run(mod)
|
|
})
|
|
}
|