aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/ssa/func_test.go
diff options
context:
space:
mode:
authorJosh Bleecher Snyder <josharian@gmail.com>2017-03-16 22:42:10 -0700
committerJosh Bleecher Snyder <josharian@gmail.com>2017-03-17 23:18:57 +0000
commit2cdb7f118ab86adb6fef5485d96831df3446b747 (patch)
tree646fbcb5434a3efd5ded903b36cef37c0c4ac3ad /src/cmd/compile/internal/ssa/func_test.go
parent193510f2f6a0d01bb03595ba12dd2b05109980e3 (diff)
downloadgo-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.go36
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")))