FAQ
We have now reached the point where we'd like to get ports of the SSA
backend going for all the other architectures. The goal is to get them all
done by the 1.8 freeze (Nov. 1). Then we get to delete the old backend!

To that end, Cherry has been working on an ARM (32-bit) port of the SSA
backend. It is getting close to complete and has in the process generated
a blueprint to follow for the other architectures.

The general idea is to get the compiler working a bit at a time. Pick a
simple function you're fond of. I like Fibonacci. Add code to the
compiler until it generates correct code for just that function (using
GOSSAFUNC to compile just that function with SSA and all others with the
legacy backend). Then pick another, slightly larger function and do it
again. Repeat until we have a complete compiler.

The first arm32 CL was by me (https://go-review.googlesource.com/21000).
It shows where you need to hook into the compiler to make it use the SSA
backend instead of the normal backend for your architecture. It also shows
how to add rules files and opcodes files for your new architecture.

Cherry made lots of followon CLs, like:
https://go-review.googlesource.com/c/22654/
https://go-review.googlesource.com/c/22856/
https://go-review.googlesource.com/c/23093/

A hopefully complete list of CLs hangs off this issue:
https://github.com/golang/go/issues/15365

Work is now proceeding on the arm32 port on the dev.ssa branch. Feel free
to work there as well. We'll merge back to main after 1.7 is out.

Cherry is planning on working on the arm64 port after he finishes the arm
port. David Chase is planning on working on the ppc64 ports. Don't let
that dissuade you from working on those ports also if you'd like, the more
the merrier.
No one has currently committed to the 386, s390, or mips64 ports.

Please ping me if you'd like to work on any of these ports. We'll set up
tracking bugs, organize code reviews, etc. to help organize the effort.
I'd also like to get folks interested in this effort together at Gophercon
at some point.

--
You received this message because you are subscribed to the Google Groups "golang-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

Discussion Posts

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 10 | next ›
Discussion Overview
groupgolang-dev @
categoriesgo
postedJun 7, '16 at 9:49p
activeJun 10, '16 at 3:45p
posts10
users6
websitegolang.org

People

Translate

site design / logo © 2021 Grokbase