Commit Graph

8 Commits

Author SHA1 Message Date
Vedant Kumar 715ada51aa [Coverage] Emit gap areas in braces-optional statements (PR35387)
Emit a gap area starting after the r-paren location and ending at the
start of the body for the braces-optional statements (for, for-each,
while, etc). The count for the gap area equal to the body's count. This
extends the fix in r317758.

Fixes PR35387, rdar://35570345

Testing: stage2 coverage-enabled build of clang, check-clang

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319373 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-29 22:25: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
Justin Bogner dd4d8b2b5f InstrProf: Make sure coverage propagates out of foreach loops correctly
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236264 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-30 21:31:02 +00:00
Justin Bogner ad5a787c1d InstrProf: Rewrite most of coverage mapping generation in a simpler way
The coverage mapping generation code previously generated a large
number of redundant coverage regions and then tried to merge similar
ones back together. This then relied on some awkward heuristics to
prevent combining of regions that were importantly different but
happened to have the same count. The end result was inefficient and
hard to follow.

Now, we more carefully create the regions we actually want. This makes
it much easier to create regions at precise locations as well as
making the basic approach quite a bit easier to follow. There's still
a fair bit of complexity here dealing with included code and macro
expansions, but that's pretty hard to avoid without significantly
reducing the quality of data we provide.

I had to modify quite a few tests where the source ranges became more
precise or the old ranges seemed to be wrong anyways, and I've added
quite a few new tests since a large number of constructs didn't seem
to be tested before.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@229748 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18 21:24:51 +00:00
Justin Bogner 6d73283162 InstrProf: Remove CoverageMapping::HasCodeBefore, it isn't used
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@228035 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-03 21:35:49 +00:00
Alex Lorenz 4905e06d92 Add tests for coverage mapping generation.
This patch adds the tests for the coverage mapping generation. 
Most of the tests check the mapping regions produced by 
the generator, and one checks the llvm IR.

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215995 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 17:32:30 +00:00
Justin Bogner a3d8e7560d Revert "Add tests for coverage mapping generation."
I reverted one of the added tests from r215261 in r215274, since it
was failing on quite a few bots. It looks like this wasn't sufficient,
as we're still getting failures on windows, like the following:

    http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/5378

I'm reverting this entire commit so the bots aren't blocked on these
failures.

This reverts commit r215261.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215278 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-09 03:55:09 +00:00
Alex Lorenz 28ec93edee Add tests for coverage mapping generation.
This patch adds the tests for the coverage mapping generation. 
Most of the tests check the mapping regions produced by 
the generator, and one checks the llvm IR.

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


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215261 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-08 23:49:58 +00:00