go/src/cmd/internal/ssa
Michael Matloob 310d09bf73 cmd/internal/ssa: utility functions to make Funcs
Adds a more convenient way to define Funcs for testing.
For instance,

  b1:
    v1 = Arg <mem> [.mem]
    Plain -> b2
  b2:
    Exit v1
  b3:
    v2 = Const <bool> [true]
    If v2 -> b3 b2

can be defined as

	 fun :=Fun("entry",
		Bloc("entry",
			Valu("mem", OpArg, TypeMem, ".mem"),
			Goto("exit")),
		Bloc("exit",
			Exit("mem")),
		Bloc("deadblock",
			Valu("deadval", OpConst, TypeBool, true),
			If("deadval", "deadblock", "exit")))

Also add an Equiv function to test two Funcs for equivalence.

Change-Id: If1633865aeefb8e765e772b6dad19250d93a413a
Reviewed-on: https://go-review.googlesource.com/9992
Reviewed-by: Keith Randall <khr@golang.org>
2015-05-15 20:01:03 +00:00
..
rulegen [dev.ssa] cmd/internal/ssa: reorganize opcode tables 2015-05-14 05:35:54 +00:00
block.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
blockkind_string.go
cgen.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
check.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
compile.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
config.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
copyelim.go
critical.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
cse.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
deadcode.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
deadcode_test.go cmd/internal/ssa: utility functions to make Funcs 2015-05-15 20:01:03 +00:00
dom.go [dev.ssa] cmd/internal/ssa: add CSE pass 2015-03-31 21:51:15 +00:00
export_test.go
func.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
func_test.go cmd/internal/ssa: utility functions to make Funcs 2015-05-15 20:01:03 +00:00
fuse.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
generic.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
id.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
layout.go [dev.ssa] cmd/internal/ssa: implement more compiler passes 2015-03-24 22:26:45 +00:00
location.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
lower.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
lowerAmd64.go [dev.ssa] cmd/internal/ssa: reorganize opcode tables 2015-05-14 05:35:54 +00:00
op.go [dev.ssa] cmd/internal/ssa: reorganize opcode tables 2015-05-14 05:35:54 +00:00
op_string.go [dev.ssa] cmd/internal/ssa: reorganize opcode tables 2015-05-14 05:35:54 +00:00
opamd64.go [dev.ssa] cmd/internal/ssa: reorganize opcode tables 2015-05-14 05:35:54 +00:00
opt.go [dev.ssa] cmd/internal/ssa: implement more compiler passes 2015-03-24 22:26:45 +00:00
phielim.go
print.go
regalloc.go [dev.ssa] cmd/internal/ssa: reorganize opcode tables 2015-05-14 05:35:54 +00:00
rewrite.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
schedule.go [dev.ssa] cmd/internal/ssa: implement more compiler passes 2015-03-24 22:26:45 +00:00
sparseset.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
stackalloc.go [dev.ssa] cmd/internal/ssa: Add register allocation 2015-05-07 22:30:03 +00:00
type.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00
value.go [dev.ssa] cmd/internal/gc: convert standard IR into SSA. 2015-04-16 22:31:05 +00:00