[CodeGen] Add to emitted DebugLoc information about coverage when it's required
authorCalixte Denizet <cdenizet@mozilla.com>
Fri, 21 Sep 2018 09:17:06 +0000 (09:17 +0000)
committerCalixte Denizet <cdenizet@mozilla.com>
Fri, 21 Sep 2018 09:17:06 +0000 (09:17 +0000)
commit5713db4c4af8261b5306e1a6eb1a60625d8b4cc7
tree758f0b0ecea16f07d1cffd9ab41a0045fe34b0e1
parenteaf601ab7a1a994da6a25c4dcae4da3ea59a93e6
[CodeGen] Add to emitted DebugLoc information about coverage when it's required

Summary:
Some lines have a hit counter where they should not have one.
Cleanup stuff is located to the last line of the body which is most of the time a '}'.
And Exception stuff is added at the beginning of a function and at the end (represented by '{' and '}').
So in such cases, the DebugLoc used in GCOVProfiling.cpp must be marked as not covered.
This patch is a followup of https://reviews.llvm.org/D49915.
Tests in projects/compiler_rt are fixed by: https://reviews.llvm.org/D49917

Reviewers: marco-c, davidxl

Reviewed By: marco-c

Subscribers: dblaikie, cfe-commits, sylvestre.ledru

Differential Revision: https://reviews.llvm.org/D49916

llvm-svn: 342717
clang/lib/CodeGen/CGDebugInfo.cpp
clang/lib/CodeGen/CGDebugInfo.h
clang/lib/CodeGen/CGException.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGen/debug-info-scope-file.c
clang/test/CodeGenCXX/debug-info-inheriting-constructor.cpp
clang/test/CodeGenCXX/linetable-virtual-variadic.cpp
clang/test/CodeGenObjC/arc-linetable.m
clang/test/CodeGenObjC/debug-info-blocks.m