
This optimizes a common pattern like: if s != "" { ... } to: if len(s) != 0 { ... } This avoids a runtime call and thus produces slightly better code.
23 строки
446 Б
Go
23 строки
446 Б
Go
package transform
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"tinygo.org/x/go-llvm"
|
|
)
|
|
|
|
func TestOptimizeStringToBytes(t *testing.T) {
|
|
t.Parallel()
|
|
testTransform(t, "testdata/stringtobytes", func(mod llvm.Module) {
|
|
// Run optimization pass.
|
|
OptimizeStringToBytes(mod)
|
|
})
|
|
}
|
|
|
|
func TestOptimizeStringEqual(t *testing.T) {
|
|
t.Parallel()
|
|
testTransform(t, "testdata/stringequal", func(mod llvm.Module) {
|
|
// Run optimization pass.
|
|
OptimizeStringEqual(mod)
|
|
})
|
|
}
|