Help on Optimization Remarks

Dear llvm-dev community,
I am trying to analyze the optimization remarks generated through clang using -fsave-optimization-remark with -O3.

— !Analysis
Pass: loop-vectorize
Name: CFGNotUnderstood
DebugLoc: { File: c-ray-mt.c, Line: 177, Column: 2 }
Function: main
Args:

  • String: 'loop not vectorized: ’
  • String: loop control flow is not understood by vectorizer

I tried to look for information about “loop vectorize pass” and other emitted pass in the official llvm passes documentaiton here but it is not there. Please let me know where to find information about passes emitted in the optimization report.

Regards,
Pradeep

Dear Vivek,
Sorry, I couldn’t reply to the same thread. I want to know which existing passes emit optimization remarks. Here passes refer to the Analysis and Transformation passes listed in llvm.org/docs/Passes.html. Also where can I find more information on the internals of optimization remarks infrastructure?

Regards,
Pradeep

Dear Vivek,
    Sorry, I couldn't reply to the same thread. I want to know which existing passes emit optimization remarks. Here passes refer to the Analysis and Transformation passes listed in llvm.org/docs/Passes.html. Also where can I find more information on the internals of optimization remarks infrastructure?

Unfortunately, we don’t have documentation on which passes emit remarks. I recently added some documentation on remarks here: Remarks — LLVM 18.0.0git documentation.

If you check out llvm/docs/Remarks.rst there are a few things missing that I mention at the end of the file.