Debug info correlation expects debug info for intrinsic functions

$ cat a.cpp
#include <emmintrin.h>

__m128i test_mm_mul_epu32(__m128i A, __m128i B) {
  return _mm_mul_epu32(A, B);
$ clang -fprofile-generate -mllvm -debug-info-correlate -mllvm --disable-vp=true -g a.cpp -emit-llvm -S -o a.ll
warning: a.cpp: Missing debug info for function _ZL13_mm_mul_epu32Dv2_xS_; required for profile correlation. [-Wbackend-plugin]

Debug info correlation is expecting debug info for _mm_mul_epu32, but they should be ignored.


I noticed that compiler-generated functions (like __clang_call_terminate) sometime don’t have debug info, but we get this warning because IRPGO will instrument these functions. I actually recently published ⚙ D156006 [InstrProf] Emit warnings when correlating lightweight profiles which will remove this warning and instead emit warnings during profile merging. For now, you can ignore this as it simply emits the warning and continues.

Thanks! We are also using -Werror so cannot simply ignore it as it’s a -Wbackend-plugin warning.