0

So I am compiling a big C++ program with clang 3.8. I want to make use of PGO (Profile guided optimization). I want to use the way of compiling in instrumentation to generate the profile.

Currently I am passing -fprofile-instr-generate --coverage to the compiler and --coverage to the Linker.

So now the question is whether it would be optimal to pass -O0 too, so the compiler can map back the calls from the binary during the next compilation properly. Or is that unnecessary?

TheWatcher
  • 167
  • 2
  • 11

1 Answers1

1

It is unnecessary. Coverage will be the same on optimized code, otherwise it would be worrisome ;)

For instance the clang coverage bot builds with -O3 -fprofile-instr-generate -fcoverage-mapping

Joky
  • 1,608
  • 11
  • 15