diff options
author | Vedant Kumar <vsk@apple.com> | 2017-02-24 01:15:19 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2017-02-24 01:15:19 +0000 |
commit | 9970e5fa39d67048aeaf8b52b3479acde3ee4ecb (patch) | |
tree | 8697873450ff0b6b5e7635008bbeefec38ff202c /lib/CodeGen/CGClass.cpp | |
parent | 9049fa85ca1df4c5e6468a8ae2f70e4ae5e25a25 (diff) |
[profiling] PR31992: Don't skip interesting non-base constructors
Fix the fact that we don't assign profile counters to constructors in
classes with virtual bases, or constructors with variadic parameters.
Differential Revision: https://reviews.llvm.org/D30131
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296062 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGClass.cpp')
-rw-r--r-- | lib/CodeGen/CGClass.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp index a305ae62ca..dce1e817d0 100644 --- a/lib/CodeGen/CGClass.cpp +++ b/lib/CodeGen/CGClass.cpp @@ -689,7 +689,8 @@ void CodeGenFunction::EmitInitializerForField(FieldDecl *Field, LValue LHS, /// complete-to-base constructor delegation optimization, i.e. /// emitting the complete constructor as a simple call to the base /// constructor. -static bool IsConstructorDelegationValid(const CXXConstructorDecl *Ctor) { +bool CodeGenFunction::IsConstructorDelegationValid( + const CXXConstructorDecl *Ctor) { // Currently we disable the optimization for classes with virtual // bases because (1) the addresses of parameter variables need to be |