[llvm-bugs] [Bug 31992] New: PGO: complete constructors that don't call base constructors aren't instrumented

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Feb 17 05:34:58 PST 2017


http://bugs.llvm.org/show_bug.cgi?id=31992

            Bug ID: 31992
           Summary: PGO: complete constructors that don't call base
                    constructors aren't instrumented
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: arphaman at gmail.com
                CC: llvm-bugs at lists.llvm.org

Complete constructors that don't invoke base constructors of the same class
aren't instrumented by PGO. This is a problem when it comes to virtual
inheritance.
The following sample reproduces this issue:

class Foo
{
public:
    Foo()
    {
        // PGO is there!
    }
};

class Bar : virtual public Foo
{
public:
   Bar()
   {
        // No PGO instrumentation emitted
   };
};

int main (int argc, char* argv[])
{
    Bar b;
}

Right now clang always assumes that the complete constructors call into the
base constructors, which isn't true as seen in this bug, so we have to fix
that.

-- 
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/20170217/7216f3ec/attachment.html>


More information about the llvm-bugs mailing list