]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/internal/ssa: SSA backend compiler skeleton
authorKeith Randall <khr@golang.org>
Tue, 3 Mar 2015 21:38:14 +0000 (13:38 -0800)
committerKeith Randall <khr@golang.org>
Fri, 13 Mar 2015 22:46:56 +0000 (22:46 +0000)
commitf52b234579abb8045da366c8fd5f24e0cf2c7ed2
tree5602a22f91ec648e41aad86bbed180660a7c9910
parentde7f6c77bcf5fe7de77ce5eae2d2846e963906cc
[dev.ssa] cmd/internal/ssa: SSA backend compiler skeleton

First pass adding code for SSA backend.  It is standalone for now.
I've included just a few passes to make the review size manageable -
I have more passes coming.

cmd/internal/ssa is the library containing the ssa compiler proper.

cmd/internal/ssa/ssac is a driver that loads an sexpr-based IR,
converts it to SSA form, and calls the above library.  It is essentially
throwaway code - it will disappear once the Go compiler calls
cmd/internal/ssa itself.  The .goir files in ssac/ are dumps of fibonacci
programs I made from a hacked-up compiler.  They are just for testing.

Change-Id: I5ee89356ec12c87cd916681097cd3c2cd591040c
Reviewed-on: https://go-review.googlesource.com/6681
Reviewed-by: Alan Donovan <adonovan@google.com>
26 files changed:
src/cmd/internal/ssa/block.go [new file with mode: 0644]
src/cmd/internal/ssa/blockkind_string.go [new file with mode: 0644]
src/cmd/internal/ssa/check.go [new file with mode: 0644]
src/cmd/internal/ssa/compile.go [new file with mode: 0644]
src/cmd/internal/ssa/copyelim.go [new file with mode: 0644]
src/cmd/internal/ssa/deadcode.go [new file with mode: 0644]
src/cmd/internal/ssa/deadcode_test.go [new file with mode: 0644]
src/cmd/internal/ssa/export_test.go [new file with mode: 0644]
src/cmd/internal/ssa/func.go [new file with mode: 0644]
src/cmd/internal/ssa/id.go [new file with mode: 0644]
src/cmd/internal/ssa/location.go [new file with mode: 0644]
src/cmd/internal/ssa/op.go [new file with mode: 0644]
src/cmd/internal/ssa/op_string.go [new file with mode: 0644]
src/cmd/internal/ssa/phielim.go [new file with mode: 0644]
src/cmd/internal/ssa/print.go [new file with mode: 0644]
src/cmd/internal/ssa/sparseset.go [new file with mode: 0644]
src/cmd/internal/ssa/ssac/.gitignore [new file with mode: 0644]
src/cmd/internal/ssa/ssac/fib.goir [new file with mode: 0644]
src/cmd/internal/ssa/ssac/fibiter.goir [new file with mode: 0644]
src/cmd/internal/ssa/ssac/main.go [new file with mode: 0644]
src/cmd/internal/ssa/ssac/sexpr.go [new file with mode: 0644]
src/cmd/internal/ssa/ssac/sparsemap.go [new file with mode: 0644]
src/cmd/internal/ssa/type.go [new file with mode: 0644]
src/cmd/internal/ssa/types/object.go [new file with mode: 0644]
src/cmd/internal/ssa/types/type.go [new file with mode: 0644]
src/cmd/internal/ssa/value.go [new file with mode: 0644]