// Without hotness threshold, print both hot and cold remarks. // RUN: %clang_cc1 -triple x86_64-linux %s -emit-llvm-only -O3 \ // RUN: -fprofile-sample-use=%S/Inputs/remarks-hotness.prof \ // RUN: -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline \ // RUN: -fexperimental-new-pass-manager -fdiagnostics-show-hotness 2>&1 \ // RUN: | FileCheck -check-prefix=REMARKS %s // With auto hotness threshold, only print hot remarks. // RUN: %clang_cc1 -triple x86_64-linux %s -emit-llvm-only -O3 \ // RUN: -fprofile-sample-use=%S/Inputs/remarks-hotness.prof \ // RUN: -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline \ // RUN: -fexperimental-new-pass-manager -fdiagnostics-show-hotness \ // RUN: -fdiagnostics-hotness-threshold=auto 2>&1 \ // RUN: | FileCheck -check-prefix=HOT_CALL %s int callee1() { return 1; } __attribute__((noinline)) int callee2() { return 2; } // REMARKS: _Z7callee1v inlined into _Z7caller1v // HOT_CALL: _Z7callee1v inlined into _Z7caller1v int caller1() { return callee1(); } // REMARKS: _Z7callee2v not inlined into _Z7caller2v // HOT_CALL-NOT: _Z7callee2v not inlined into _Z7caller2v int caller2() { return callee2(); }