// zcse does an initial pass of common-subexpression elimination on the // function for values with zero arguments to allow the more expensive cse // to begin with a reduced number of values. Values are just relinked, // nothing is deleted. A subsequent deadcode pass is required to actually // remove duplicate expressions. func zcse(f *Func) { … } type vkey … // keyFor returns the AuxInt portion of a key structure uniquely identifying a // zero arg value for the supported ops. func keyFor(v *Value) int64 { … }