Which code coverage approach is suggested from LLVM


I see there are multiple code coverage solution infras supported by LLVM.

  • LLVM native support code coverage (Source-based code coverage)
  • Gcc’s/gcov native code coverage support and
  • Sanitizer coverage

All 3 of them are quite different. So, in terms of future support and technical aspects wise, would you please help me understand which one is preferred one? I am basically looking for a solution for C code base. Your quick help would be highly appreciated.

Best regards