summaryrefslogtreecommitdiff
path: root/test/Profile/c-counter-overflows.c
Commit message (Collapse)AuthorAgeFilesLines
* [PGO] Change profile use cc1 option to handle IR level profilesRong Xu2016-03-021-1/+1
| | | | | | | | | | | | | | | | | | | This patch changes cc1 option for PGO profile use from -fprofile-instr-use=<path> to -fprofile-instrument-use-path=<path>. -fprofile-instr-use=<path> is now a driver only option. In addition to decouple the cc1 option from the driver level option, this patch also enables IR level profile use. cc1 option handling now reads the profile header and sets CodeGenOpt ProfileUse (valid values are {None, Clang, LLVM} -- this is a common enum for -fprofile-instrument={}, for the profile instrumentation), and invoke the pipeline to enable the respective PGO use pass. Reviewers: silvas, davidxl Differential Revision: http://reviews.llvm.org/D17737 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262515 91177308-0d34-0410-b5e6-96231b3b80d8
* IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith2014-12-151-3/+3
| | | | | | Match LLVM changes from r224257. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224259 91177308-0d34-0410-b5e6-96231b3b80d8
* test: Use llvm-profdata merge in Profile testsJustin Bogner2014-04-171-1/+2
| | | | | | | | | | | In preparation for using a binary format for instrumentation based profiling, explicitly treat the test inputs as text and transform them before running. This will allow us to leave the checked in files in human readable format once the instrumentation format is binary. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@206509 91177308-0d34-0410-b5e6-96231b3b80d8
* PGO: Statically generate data structuresDuncan P. N. Exon Smith2014-03-171-1/+0
| | | | | | | | | | | | | | | | | | | In instrumentation-based profiling, we need a set of data structures to represent the counters. Previously, these were built up during static initialization. Now, they're shoved into a specially-named section so that they show up as an array. As a consequence of the reorganizing symbols, instrumentation data structures for linkonce functions are now correctly coalesced. This is the first step in a larger project to minimize runtime overhead and dependencies in instrumentation-based profilng. The larger picture includes removing all initialization overhead and making the dependency on libc optional. <rdar://problem/15943240> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204080 91177308-0d34-0410-b5e6-96231b3b80d8
* PGO: appease the bots after r203592Duncan P. N. Exon Smith2014-03-111-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203618 91177308-0d34-0410-b5e6-96231b3b80d8
* PGO: Scale large counters down to 32-bitsDuncan P. N. Exon Smith2014-03-111-0/+49
PGO counters are 64-bit and branch weights are 32-bit. Scale them down when necessary, instead of just taking the lower 32 bits. <rdar://problem/16276448> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203592 91177308-0d34-0410-b5e6-96231b3b80d8