The diff looks scary but it really isn't:
- I moved the check for the number of measurements into SchedClassClusterCentroid::validate()
- While there, added a check that we can only have a single inverse throughput measurement. I missed that when adding it initially.
- In Analysis::SchedClassCluster::measurementsMatch() is called with the current LLVM values from schedule class and the values from Centroid.
3.1. The values from centroid we can already get from SchedClassClusterCentroid::getAsPoint().
This isn't 100% a NFC, because previously for inverse throughput we used `min()`. I have asked whether i have done that correctly in https://reviews.llvm.org/D57647?id=184939#inline-510384 but did not hear back. I think `avg()` should be used too, thus it is a fix.
3.2. Finally, refactor the computation of the LLVM-specified values into Analysis::SchedClassCluster::getSchedClassPoint()
I will need that function for [[ https://bugs.llvm.org/show_bug.cgi?id=41275 | PR41275 ]]