[llvm-bugs] [Bug 49521] New: OpenMP missing profile instrumentation counter in CGOpenMPRegionInfo::EmitBody
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed Mar 10 11:26:00 PST 2021
https://bugs.llvm.org/show_bug.cgi?id=49521
Bug ID: 49521
Summary: OpenMP missing profile instrumentation counter in
CGOpenMPRegionInfo::EmitBody
Product: OpenMP
Version: unspecified
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Clang Compiler Support
Assignee: unassignedclangbugs at nondot.org
Reporter: lxfind at gmail.com
CC: llvm-bugs at lists.llvm.org
In CGOpenMPRegionInfo::EmitBody, it does not emit any profile counter
increment, which means that the instrumentation of a function generated this
way will be missing the function entry count. In some cases this leads to
inaccurate instrumentation, while in worse cases some function has no counter
emitted, causing llvm-cov to error out since some functions are missing from
the function name table.
A fix attempt is https://reviews.llvm.org/D98135, but it seems to have some
issues.
Example test case:
// RUN: %clang_cc1 -verify -fopenmp -x c -emit-llvm %s -triple
x86_64-unknown-linux -o - -femit-all-decls -disable-llvm-passes
-fprofile-instrument=clang | FileCheck %s
// expected-no-diagnostics
void sub(double *restrict a, double *restrict b, int n) {
int i;
#pragma omp parallel for
#pragma clang loop vectorize(disable)
for (i = 0; i < n; i++) {
a[i] = a[i] + b[i];
}
}
// CHECK-LABEL: @.omp_outlined.(
// CHECK-NEXT: entry:
// CHECK: call void @llvm.instrprof.increment(
// CHECK: omp.precond.then:
// CHECK-NEXT: call void @llvm.instrprof.increment(
// CHECK: cond.true:
// CEHCK-NEXT: call void @llvm.instrprof.increment(
// CHECK: omp.inner.for.body:
// CHECK-NEXT: call void @llvm.instrprof.increment(
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210310/b4813886/attachment.html>
More information about the llvm-bugs
mailing list