diff options
author | Josh Bleecher Snyder <josharian@gmail.com> | 2017-03-16 22:42:10 -0700 |
---|---|---|
committer | Josh Bleecher Snyder <josharian@gmail.com> | 2017-03-17 23:18:57 +0000 |
commit | 2cdb7f118ab86adb6fef5485d96831df3446b747 (patch) | |
tree | 646fbcb5434a3efd5ded903b36cef37c0c4ac3ad /src/cmd/compile/internal/ssa/func_test.go | |
parent | 193510f2f6a0d01bb03595ba12dd2b05109980e3 (diff) | |
download | go-2cdb7f118ab86adb6fef5485d96831df3446b747.tar.gz go-2cdb7f118ab86adb6fef5485d96831df3446b747.zip |
cmd/compile: move Frontend field from ssa.Config to ssa.Func
Suggested by mdempsky in CL 38232.
This allows us to use the Frontend field
to associate frontend state and information
with a function.
See the following CL in the series for examples.
This is a giant CL, but it is almost entirely routine refactoring.
The ssa test API is starting to feel a bit unwieldy.
I will clean it up separately, once the dust has settled.
Passes toolstash -cmp.
Updates #15756
Change-Id: I71c573bd96ff7251935fce1391b06b1f133c3caf
Reviewed-on: https://go-review.googlesource.com/38327
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/ssa/func_test.go')
-rw-r--r-- | src/cmd/compile/internal/ssa/func_test.go | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/cmd/compile/internal/ssa/func_test.go b/src/cmd/compile/internal/ssa/func_test.go index b14da75b1a..eaeb8268c1 100644 --- a/src/cmd/compile/internal/ssa/func_test.go +++ b/src/cmd/compile/internal/ssa/func_test.go @@ -143,8 +143,8 @@ var emptyPass pass = pass{ // returns a fun containing the composed Func. entry must be a name // supplied to one of the Bloc functions. Each of the bloc names and // valu names should be unique across the Fun. -func Fun(c *Config, entry string, blocs ...bloc) fun { - f := NewFunc() +func Fun(c *Config, fe Frontend, entry string, blocs ...bloc) fun { + f := NewFunc(fe) f.Config = c // TODO: Either mark some SSA tests as t.Parallel, // or set up a shared Cache and Reset it between tests. @@ -274,7 +274,7 @@ type valu struct { func TestArgs(t *testing.T) { c := testConfig(t) - fun := Fun(c, "entry", + fun := Fun(c, DummyFrontend{t}, "entry", Bloc("entry", Valu("a", OpConst64, TypeInt64, 14, nil), Valu("b", OpConst64, TypeInt64, 26, nil), @@ -296,7 +296,7 @@ func TestEquiv(t *testing.T) { equivalentCases := []struct{ f, g fun }{ // simple case { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("a", OpConst64, TypeInt64, 14, nil), Valu("b", OpConst64, TypeInt64, 26, nil), @@ -305,7 +305,7 @@ func TestEquiv(t *testing.T) { Goto("exit")), Bloc("exit", Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("a", OpConst64, TypeInt64, 14, nil), Valu("b", OpConst64, TypeInt64, 26, nil), @@ -317,7 +317,7 @@ func TestEquiv(t *testing.T) { }, // block order changed { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("a", OpConst64, TypeInt64, 14, nil), Valu("b", OpConst64, TypeInt64, 26, nil), @@ -326,7 +326,7 @@ func TestEquiv(t *testing.T) { Goto("exit")), Bloc("exit", Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("exit", Exit("mem")), Bloc("entry", @@ -348,26 +348,26 @@ func TestEquiv(t *testing.T) { differentCases := []struct{ f, g fun }{ // different shape { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Goto("exit")), Bloc("exit", Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Exit("mem"))), }, // value order changed { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("b", OpConst64, TypeInt64, 26, nil), Valu("a", OpConst64, TypeInt64, 14, nil), Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 14, nil), @@ -376,12 +376,12 @@ func TestEquiv(t *testing.T) { }, // value auxint different { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 14, nil), Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 26, nil), @@ -389,12 +389,12 @@ func TestEquiv(t *testing.T) { }, // value aux different { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 0, 14), Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 0, 26), @@ -402,14 +402,14 @@ func TestEquiv(t *testing.T) { }, // value args different { - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 14, nil), Valu("b", OpConst64, TypeInt64, 26, nil), Valu("sum", OpAdd64, TypeInt64, 0, nil, "a", "b"), Exit("mem"))), - Fun(testConfig(t), "entry", + Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Valu("a", OpConst64, TypeInt64, 0, nil), @@ -430,7 +430,7 @@ func TestEquiv(t *testing.T) { // TestConstCache ensures that the cache will not return // reused free'd values with a non-matching AuxInt func TestConstCache(t *testing.T) { - f := Fun(testConfig(t), "entry", + f := Fun(testConfig(t), DummyFrontend{t}, "entry", Bloc("entry", Valu("mem", OpInitMem, TypeMem, 0, nil), Exit("mem"))) |