]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: randomize value order in block for testing
authorKeith Randall <khr@golang.org>
Mon, 5 Dec 2016 23:41:04 +0000 (15:41 -0800)
committerKeith Randall <khr@golang.org>
Wed, 28 Nov 2018 17:13:46 +0000 (17:13 +0000)
commit2b4f24a2d2cbdefe3cb578ef37804cf05c1f5b00
tree2a8099e6ee362c39ad7c04eebae9fe28fd6bc827
parentff9481ec0d684b4f00670d40e869b5d40c54f162
cmd/compile: randomize value order in block for testing

A little bit of compiler stress testing. Randomize the order
of the values in a block before every phase. This randomization
makes sure that we're not implicitly depending on that order.

Currently the random seed is a hash of the function name.
It provides determinism, but sacrifices some coverage.
Other arrangements are possible (env var, ...) but require
more setup.

Fixes #20178

Change-Id: Idae792a23264bd9a3507db6ba49b6d591a608e83
Reviewed-on: https://go-review.googlesource.com/c/33909
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/ssa/compile.go
src/cmd/compile/internal/ssa/nilcheck.go
test/run.go