Commit Graph

8 Commits

Author SHA1 Message Date
Vedant Kumar e5f56874ae Fix a typo. NFC.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306882 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30 21:02:14 +00:00
Vedant Kumar 9970e5fa39 [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
2017-02-24 01:15:19 +00:00
Vedant Kumar 8c54694eda [profiling] Make a test more explicit. NFC.
The cxx-structors.cpp test checks that some instrumentation doesn't
appear, but it should be more explicit about which instrumentation it
actually expects to appear.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295532 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-18 02:02:55 +00:00
Vedant Kumar 56aa5e7a6c [profiling] Tighten test cases which refer to "profn" vars. NFC.
The frontend can't see "__profn" profile name variables after IRGen
because llvm throws these away now. Tighten up some test cases which
checked for the non-existence of those variables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295528 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-18 01:50:14 +00:00
Rong Xu bf1d31e84a [PGO] cc1 option name change for profile instrumentation
This patch changes cc1 option -fprofile-instr-generate to an enum option
-fprofile-instrument={clang|none}. It also changes cc1 options
-fprofile-instr-generate= to -fprofile-instrument-path=.
The driver level option -fprofile-instr-generate and -fprofile-instr-generate=
remain intact. This change will pave the way to integrate new PGO
instrumentation in IR level.

Review: http://reviews.llvm.org/D16730


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259811 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-04 18:39:09 +00:00
Xinliang David Li 3dc064f1ce [PGO] make profile prefix even shorter and more readable
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255587 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-15 00:33:12 +00:00
Xinliang David Li 482cf7fe80 [PGO] Shorten profile symbol prefixes
(test case update)
Profile symbols have long prefixes which waste space and creating pressure for linker.
This patch shortens the prefixes to minimal length without losing verbosity.

Differential Revision: http://reviews.llvm.org/D15503



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255576 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-14 23:26:46 +00:00
Serge Pavlov 3a6fcd9a38 [PGO] Instrument only base constructors and destructors.
Constructors and destructors may be represented by several functions
in IR. Only base structors correspond to source code, others are
small pieces of code and eventually call the base variant. In this
case instrumentation of non-base structors has little sense, this
fix remove it. Now profile data of a declaration corresponds to
exactly one function in IR, it agrees with the current logic of the
profile data loading.

This change fixes PR24996.

Differential Revision: http://reviews.llvm.org/D15158


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254876 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-06 14:32:39 +00:00