dotnet / jitutils

MIT License
144 stars 59 forks source link

MLCSE failure parsing baseline stats #400

Closed AndyAyersMS closed 6 months ago

AndyAyersMS commented 6 months ago

We see this metrics line in the coreclr_tests collection:

; Total bytes of code 192, prolog size 12, PerfScore 50.50, instruction count 48, allocated bytes for code 192, num cse 6 num cand 1 Standard CSE Heuristic seq 4,2,6,1,5,0,1,0 spmi index 547808 (MethodHash=6d6c4ab2) for method Runtime_62108:LeafMethod6():int:this (FullOpts) 

and get confused.

This is an opt repeat method where in the first pass we did 5 CSEs, and in the second pass one CSE.

https://github.com/dotnet/runtime/blob/f32c428c86b4cc41e88e2e5a750c37dfb354e33a/src/tests/JIT/Regression/JitBlue/Runtime_62108/Runtime_62108.csproj#L10

Not really sure how to handle this... I can add code to tolerate it for now but this will lead to confused numbers for that method. If opt repeat becomes common then we'll have to find a better way.