The revision distinguishes ReduceFn and ReduceFnUse. The latter has the reduction dimensions attached while the former specifies the arithmetic function only. This separation allows us to adapt the reduction syntax a little bit and specify the reduction dimensions using square brackets (in contrast to the round brackets used for the values to reduce). It als is a preparation to add reduction function attributes to OpDSL. A reduction function attribute shall only specify the arithmetic function and not the reduction dimensions.
Example:
ReduceFn.max_unsigned(D.kh, D.kw)(...)
changes to:
ReduceFn.max_unsigned[D.kh, D.kw](...)
Depends On D115240