Does fsave-optimization-record flag gives correct results?

I have executed matrix multiplication program with matrix size 3000x3000 using clang 15.0.7 on armv8.2a architecture using -fsave-optimization-record flag.
The yaml file generated shows that the loop is not vectorized and the outer loop is deleted .But when the same program is executed with -ftime-report flag , it shows that clang is using loop-vectorize pass.
I have checked in assembly , it shows that clang is using vector registers.
so , fsave-optimization-record flag gives accurate results?

-ftime-report just show which passes are executed. Just because a pass executes, it doesn’t mean it does any transformations.

If the yaml file shows no loops vectorized by loop-vectorize this likely indicates that a different pass created the vector instructions, e.g. the SLP vectorizer.

Thank you sir …

According to what I found in yaml file , there is no mention of SLP Vectorizer throughout.

I am new to LLVM ,was exploring about the reasons for low performance of LLVM v15.0.7 as compared to GCC v12.2. I thought vectorization maybe the factor , but after exploring that vectorization is happening , I am now confused of how to proceed.
It would be very helpful if you have any inputs regarding the same.