aboutsummaryrefslogtreecommitdiffhomepage
path: root/transform/maps_test.go
blob: e8b11133749bd41b312afc74e0236b8a8513f9af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.AddAggressiveDCEPass()
		pm.Run(mod)
	})
}