[dev.ssa] cmd/compile: speed up cse
[dev.ssa] cmd/compile: speed up cse

By walking only the current set of partitions
at any given point, the cse pass ended up doing
lots of extraneous, effectively O(n^2) work.

Using a regular for loop allows each cse pass to
make as much progress as possible by processing
each new class as it is introduced.

This can and should be optimized further,
but it already reduces by 75% cse time on test/slice3.go.

The overall time to compile test/slice3.go is still
dominated by the O(n^2) work in the liveness pass.
However, Keith is rewriting regalloc anyway.

Change-Id: I8be020b2f69352234587eeadeba923481bf43fcc
Reviewed-on: https://go-review.googlesource.com/12244
Reviewed-by: Keith Randall <8c99c3a9284e493be632950b84cd789d08ed3e9d@golang.org>

miolini/go,vanloswang/go,vsekhar/elastic-go,ganboing/go-esx,CAFxX/go,suncycheng/go,christopher-henderson/Go,cyberroadie/go,miolini/go,polyverse-security/go,theif519/go,suncycheng/go,ImJasonH/go,Cofyc/go,Samurais/go,golang/go,ganboing/go-esx,mwhudson/go,momchil-velikov/go,cloudflare/go,binarycrusader/go,ganboing/go-esx,cyberroadie/go,ImJasonH/go,cyberroadie/go,CAFxX/go,momchil-velikov/go,miolini/go,derekmarcotte/go,theif519/go,Cofyc/go,theif519/go,momchil-velikov/go,derekmarcotte/go,codestation/go,suncycheng/go,4ad/go,cloudflare/go,ganboing/go-esx,momchil-velikov/go,polyverse-security/go,Cofyc/go,suncycheng/go,josharian/go,codestation/go,derekmarcotte/go,derekmarcotte/go,josharian/go,CAFxX/go,nawawi/go,4ad/go,linux-on-ibm-z/go,vsekhar/elastic-go,ganboing/go-esx,linux-on-ibm-z/go,golang/go,CAFxX/go,cyberroadie/go,4ad/go,ImJasonH/go,goodlang/good,vsekhar/elastic-go,ImJasonH/go,suncycheng/go,linux-on-ibm-z/go,momchil-velikov/go,golang/go,polyverse-security/go,binarycrusader/go,nawawi/go,vsekhar/elastic-go,polyverse-security/go,Samurais/go,Samurais/go,nawawi/go,mwhudson/go,cloudflare/go,theif519/go,golang/go,vsekhar/elastic-go,miolini/go,goodlang/good,vanloswang/go,codestation/go,cloudflare/go,binarycrusader/go,binarycrusader/go,vanloswang/go,nawawi/go,ImJasonH/go,mwhudson/go,ganboing/go-esx,suncycheng/go,codestation/go,codestation/go,akutz/go,momchil-velikov/go,Samurais/go,cloudflare/go,binarycrusader/go,Cofyc/go,linux-on-ibm-z/go,goodlang/good,4ad/go,Cofyc/go,nawawi/go,golang/go,vanloswang/go,vsekhar/elastic-go,josharian/go,josharian/go,Cofyc/go,codestation/go,linux-on-ibm-z/go,codestation/go,linux-on-ibm-z/go,polyverse-security/go,Samurais/go,mwhudson/go,mwhudson/go,linux-on-ibm-z/go,cyberroadie/go,binarycrusader/go,golang/go,vanloswang/go,4ad/go,akutz/go,polyverse-security/go,mwhudson/go,goodlang/good,miolini/go,miolini/go,akutz/go,ImJasonH/go,ImJasonH/go,vsekhar/elastic-go,momchil-velikov/go,goodlang/good,miolini/go,akutz/go,momchil-velikov/go,derekmarcotte/go,cyberroadie/go,cloudflare/go,polyverse-security/go,CAFxX/go,mwhudson/go,vanloswang/go,suncycheng/go,ganboing/go-esx,josharian/go,4ad/go,derekmarcotte/go,4ad/go,akutz/go,cyberroadie/go,josharian/go,goodlang/good,golang/go,ImJasonH/go,goodlang/good,akutz/go,theif519/go,codestation/go,binarycrusader/go,nawawi/go,vanloswang/go,4ad/go,akutz/go,Cofyc/go,linux-on-ibm-z/go,josharian/go,vanloswang/go,ganboing/go-esx,Samurais/go,CAFxX/go,derekmarcotte/go,vsekhar/elastic-go,theif519/go,theif519/go,Samurais/go,CAFxX/go,cloudflare/go,suncycheng/go,derekmarcotte/go,mwhudson/go,akutz/go,theif519/go,polyverse-security/go,golang/go,CAFxX/go,Cofyc/go,nawawi/go,goodlang/good,josharian/go,miolini/go,cyberroadie/go,nawawi/go,cloudflare/go,binarycrusader/go,Samurais/go