Skip to content

Single byte coverage with branch coverage #113115

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 203 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
178b57c
[Coverage] Move SingleByteCoverage out of CountedRegion
chapuni Oct 2, 2024
aacb50d
[Coverage] Make SingleByteCoverage work consistent to merging
chapuni Oct 2, 2024
b9bbc7c
Rework. (Also reverts "[Coverage] Move SingleByteCoverage out of Cou…
chapuni Oct 5, 2024
618e639
Introduce CounterExpressionBuilder::replace(C, Map)
chapuni Oct 16, 2024
fc697f0
[Coverage] Introduce `getBranchCounterPair()`. NFC.
chapuni Oct 16, 2024
e4172ca
Introduce the type `CounterPair` for RegionCounterMap
chapuni Oct 16, 2024
12abd89
Merge branches 'users/chapuni/cov/single/getpair', 'users/chapuni/cov…
chapuni Oct 17, 2024
5e46059
[Coverage] Make additional counters available for BranchRegion. NFC.
chapuni Oct 17, 2024
ad13691
Rewind changes for folding
chapuni Oct 18, 2024
209ea4c
Update comments
chapuni Oct 20, 2024
f0afd04
Use initializer statements
chapuni Oct 20, 2024
d4518a4
Merge branches 'users/chapuni/cov/single/getpair' and 'users/chapuni/…
chapuni Oct 20, 2024
05df8df
Merge branch 'users/chapuni/cov/single/nextcount-base' into users/cha…
chapuni Oct 20, 2024
be516fa
`first` may be cancelled.
chapuni Oct 20, 2024
52f072e
clang/test/CoverageMapping/single-byte-counters.cpp: Rewrite counter …
chapuni Oct 17, 2024
78e33ba
Merge branches 'users/chapuni/cov/single/test' and 'users/chapuni/cov…
chapuni Oct 21, 2024
5d19c77
[Coverage][Single] Enable Branch coverage for loop statements
chapuni Oct 18, 2024
744c5b6
[Coverage][Single] Enable Branch coverage for CondOp
chapuni Oct 20, 2024
3ea6383
[Coverage][Single] Enable Branch coverage for IfStmt
chapuni Oct 20, 2024
ec05cc3
[Coverage][Single] Enable Branch coverage for SwitchStmt
chapuni Oct 20, 2024
204a215
Merge branches 'users/chapuni/cov/single/loop', 'users/chapuni/cov/si…
chapuni Oct 21, 2024
16e2bb8
[Coverage][Single] Enable Branch coverage for `BinLAnd` and `BinLOr`
chapuni Oct 20, 2024
e9c6938
Merge branches 'users/chapuni/cov/single/merge', 'users/chapuni/cov/s…
chapuni Oct 21, 2024
03cfce1
CGF::markStmtAsUsed
chapuni Oct 23, 2024
afc8481
CGF.markStmtMaybeUsed for binop
chapuni Oct 23, 2024
e7d3f0e
Merge branch 'users/chapuni/cov/single/pair' into users/chapuni/cov/s…
chapuni Oct 24, 2024
0f57ad2
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Oct 24, 2024
ad997c2
Fix cases when LHS is skipped
chapuni Oct 23, 2024
49975e9
Merge branch 'users/chapuni/cov/single/binop' into users/chapuni/cov/…
chapuni Oct 24, 2024
58feee3
Merge branch 'main' into users/chapuni/cov/single/getpair
chapuni Oct 27, 2024
ab84f17
Introduce skeleton getSwitchImplicitDefaultCounter()
chapuni Oct 27, 2024
804d330
Merge branches 'users/chapuni/cov/single/pair' and 'users/chapuni/cov…
chapuni Oct 27, 2024
2c29f5d
Merge branch 'users/chapuni/cov/single/nextcount-base' into HEAD
chapuni Oct 27, 2024
a460885
Update getSwitchImplicitDefaultCounter
chapuni Oct 27, 2024
4b87f26
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Oct 27, 2024
bfc4b4d
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Oct 27, 2024
0285394
Don't allocate second if SkipExpr isn't Expr.
chapuni Oct 27, 2024
bc708d5
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Oct 27, 2024
42735ff
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Oct 27, 2024
2842382
update
chapuni Oct 27, 2024
c8e5af7
Merge branch 'users/chapuni/cov/single/switch' into users/chapuni/cov…
chapuni Oct 27, 2024
74a4852
Merge branch 'users/chapuni/cov/single/loop' into users/chapuni/cov/s…
chapuni Oct 27, 2024
5c7f06f
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Oct 27, 2024
49e139e
Suppress StepV in EnableSingleByteCoverage
chapuni Oct 27, 2024
1f35324
assert(!StepV)
chapuni Oct 27, 2024
97a4a8f
test/llvm-cov: Transform %.c* tests to {%.test, Inputs/%.c*}
chapuni Nov 20, 2024
c50c492
Introduce test/llvm-cov/Inputs/yaml.makefile for convenience.
chapuni Nov 20, 2024
d7c5b44
Add tests for SingleByteCoverage
chapuni Nov 20, 2024
6675226
Merge branch 'users/chapuni/cov/single/test' into users/chapuni/cov/s…
chapuni Nov 20, 2024
5fc3408
Fix a test to fix linecount=1
chapuni Nov 20, 2024
d086491
Merge branch 'users/chapuni/cov/single/merge' into users/chapuni/cov/…
chapuni Nov 20, 2024
bb08de0
Merge branch 'users/chapuni/cov/single/merge' into users/chapuni/cov/…
chapuni Nov 20, 2024
8a3ef7c
Update single tests
chapuni Nov 20, 2024
317e57f
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Nov 20, 2024
2736460
Update single tests
chapuni Nov 20, 2024
2364252
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Nov 20, 2024
b2f7fdf
Update single tests
chapuni Nov 20, 2024
b1491b8
Merge branch 'users/chapuni/cov/single/merge' into users/chapuni/cov/…
chapuni Nov 20, 2024
cce771f
Update test
chapuni Nov 20, 2024
265ae38
Merge branch 'users/chapuni/cov/single/condop' into users/chapuni/cov…
chapuni Nov 20, 2024
478f585
Merge branch 'users/chapuni/cov/single/loop' into users/chapuni/cov/s…
chapuni Nov 20, 2024
84e95f2
Merge branch 'users/chapuni/cov/single/if' into users/chapuni/cov/sin…
chapuni Nov 20, 2024
f41d178
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Nov 20, 2024
4b58cb1
Update single tests
chapuni Nov 20, 2024
1c8eaf5
Merge branches 'users/chapuni/cov/single/switch' and 'users/chapuni/c…
chapuni Nov 20, 2024
e2f97d7
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Nov 20, 2024
c81e7d4
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Nov 20, 2024
eb7fff9
threads.c: Fixup on the clean testdir
chapuni Nov 20, 2024
7543095
Rename threads.c to threads.test since it is no longer C source file.
chapuni Nov 21, 2024
00ac90d
llvm/test/tools/llvm-cov/Inputs: Avoid wildcards `rm -rf %t*.dir`
chapuni Nov 21, 2024
fcb3ee8
Merge branch 'main' into users/chapuni/cov/single/test
chapuni Dec 21, 2024
5fa862a
Use `[[#min(C,n)]]` for tests
chapuni Dec 21, 2024
805e9a9
llvm-cov: Introduce `--binary-counters`
chapuni Dec 21, 2024
ce7c17d
Merge branch 'main' into users/chapuni/cov/single/pair
chapuni Dec 21, 2024
631bc35
Merge branch 'main' into users/chapuni/cov/single/replace
chapuni Dec 21, 2024
ed700c2
s/replace/subst/
chapuni Dec 21, 2024
9d3c3b0
Merge branch 'main' into users/chapuni/cov/single/getpair
chapuni Dec 21, 2024
dbcf896
getSwitchImplicitDefaultCounterPair
chapuni Dec 21, 2024
2cb6395
Merge branch 'users/chapuni/cov/single/pair' into users/chapuni/cov/s…
chapuni Dec 21, 2024
702a72e
Merge branch 'users/chapuni/cov/single/getpair' into users/chapuni/co…
chapuni Dec 21, 2024
36465dc
Merge branch 'users/chapuni/cov/single/replace' into users/chapuni/co…
chapuni Dec 21, 2024
2413b83
Merge branch 'users/chapuni/cov/single/nextcount-base' into users/cha…
chapuni Dec 21, 2024
c0785e9
Fold either in switchcase
chapuni Dec 21, 2024
68d7b3b
Merge branch 'users/chapuni/cov/single/test' into users/chapuni/cov/s…
chapuni Dec 21, 2024
24457a7
Update tests
chapuni Dec 21, 2024
805dbd9
Merge branches 'users/chapuni/cov/single/merge' and 'users/chapuni/co…
chapuni Dec 21, 2024
f96b435
New SingleByteCoverage
chapuni Dec 21, 2024
2968ea6
Merge branch 'users/chapuni/cov/single/refactor' into users/chapuni/c…
chapuni Dec 21, 2024
cb3f959
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Dec 21, 2024
816484f
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 21, 2024
ecc151b
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 21, 2024
f178bf6
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 21, 2024
416f0f5
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 21, 2024
0a4b777
Merge branches 'users/chapuni/cov/single/loop', 'users/chapuni/cov/si…
chapuni Dec 21, 2024
92d2951
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Dec 21, 2024
cb3ff1f
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 21, 2024
d1e961e
Merge branch 'users/chapuni/cov/single/binop' into users/chapuni/cov/…
chapuni Dec 21, 2024
19eeb06
Merge branch 'users/chapuni/cov/single/switch' into users/chapuni/cov…
chapuni Dec 21, 2024
47550d1
threads.c => threads.test (following #113114)
chapuni Dec 22, 2024
42c0c26
clang/test: Add tests that we missed while I was updating.
chapuni Dec 23, 2024
bd1d96b
Introduce CounterMappingRegion::isBranch(). NFC.
chapuni Dec 23, 2024
c0a93e2
Merge branches 'users/chapuni/cov/single/test' and 'users/chapuni/cov…
chapuni Dec 23, 2024
621263c
Update the test
chapuni Dec 23, 2024
39398a2
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 23, 2024
747478e
Update the test
chapuni Dec 23, 2024
b992ae4
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 23, 2024
c55241f
Merge branch 'users/chapuni/cov/single/if' into users/chapuni/cov/sin…
chapuni Dec 23, 2024
d324dda
Merge branch 'users/chapuni/cov/single/loop' into users/chapuni/cov/s…
chapuni Dec 23, 2024
f4dc4eb
s/Count1/BinaryCount/
chapuni Dec 23, 2024
822620b
Update desc
chapuni Dec 23, 2024
658bd48
Merge branch 'main' into users/chapuni/cov/binary
chapuni Dec 24, 2024
0780993
Merge branch 'users/chapuni/cov/binary' into users/chapuni/cov/single…
chapuni Dec 24, 2024
19edcd3
Merge branch 'main' into users/chapuni/cov/single/getpair
chapuni Dec 24, 2024
4e41b99
Introduce BranchCounterPair
chapuni Dec 24, 2024
63dbfb3
Merge branch 'main' into users/chapuni/cov/single/pair
chapuni Dec 24, 2024
306d77f
void verifyCounterMap() const
chapuni Dec 24, 2024
a4f05c7
Introduce the dedicated class CounterPair instead of std::pair
chapuni Dec 24, 2024
1f18ab9
Merge branches 'users/chapuni/cov/single/getpair' and 'users/chapuni/…
chapuni Dec 24, 2024
b7ae558
Merge branch 'users/chapuni/cov/single/nextcount-base' into users/cha…
chapuni Dec 24, 2024
f6c5f40
Catch up the merge
chapuni Dec 24, 2024
aca86d4
Introduce {UseExecPath, UseSkipPath} instead of {false, true}
chapuni Dec 24, 2024
5dfe3e7
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Dec 24, 2024
1adf497
Eliminate (rewind) "refactor" changes
chapuni Dec 24, 2024
b1ec9e5
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 24, 2024
82b5913
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 24, 2024
9559a57
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 24, 2024
8169e09
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 24, 2024
54a6501
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 24, 2024
ecba151
Merge branch 'users/chapuni/cov/single/loop' into users/chapuni/cov/s…
chapuni Dec 24, 2024
79a1c0c
Merge branch 'users/chapuni/cov/single/condop' into users/chapuni/cov…
chapuni Dec 24, 2024
96a08a7
Merge branch 'users/chapuni/cov/single/if' into users/chapuni/cov/sin…
chapuni Dec 24, 2024
b955f74
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Dec 24, 2024
574ada3
Merge branch 'users/chapuni/cov/single/switch' into users/chapuni/cov…
chapuni Dec 24, 2024
f693df9
Merge branch 'users/chapuni/cov/single/binop' into users/chapuni/cov/…
chapuni Dec 24, 2024
dfc99ba
Fix wrong merge resolutions
chapuni Dec 24, 2024
f3c9593
Reorganize CoverageMapping::SingleByteCoverage
chapuni Dec 24, 2024
3780e07
Prune commented-out line
chapuni Dec 24, 2024
894c383
Merge branch 'main' into users/chapuni/cov/single/refactor
chapuni Dec 27, 2024
7c26a2a
Merge branch 'main' into users/chapuni/cov/single/refactor
chapuni Dec 27, 2024
e11930a
Merge branch 'users/chapuni/cov/single/refactor' into users/chapuni/c…
chapuni Dec 27, 2024
ad7b753
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Dec 27, 2024
abefa3e
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 27, 2024
3069477
Merge branch 'main' into users/chapuni/cov/single/base
chapuni Dec 28, 2024
360bed8
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 28, 2024
80d7b86
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 28, 2024
ffb23bf
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 28, 2024
e19c32e
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 28, 2024
d32cdf5
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 28, 2024
98513a3
Merge branch 'users/chapuni/cov/single/loop' into users/chapuni/cov/s…
chapuni Dec 28, 2024
19566b7
Merge branch 'users/chapuni/cov/single/condop' into users/chapuni/cov…
chapuni Dec 28, 2024
4adb1ba
Merge branch 'users/chapuni/cov/single/if' into users/chapuni/cov/sin…
chapuni Dec 28, 2024
76ff248
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Dec 28, 2024
e0fb185
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Dec 28, 2024
4bb0be6
Merge branches 'users/chapuni/cov/single/switch' and 'users/chapuni/c…
chapuni Dec 28, 2024
28c568a
Add a test
chapuni Jan 6, 2025
d92a9d9
Prune redundant logic
chapuni Jan 6, 2025
93fb420
Merge branch 'users/chapuni/cov/single/replace' into users/chapuni/co…
chapuni Jan 6, 2025
6f8681c
Merge branch 'users/chapuni/cov/single/nextcount-base' into users/cha…
chapuni Jan 6, 2025
82f2e92
Expand RHS of MapToExpand. This will prevent recursion.
chapuni Jan 6, 2025
b90fdf6
Append an explanation in the comment
chapuni Jan 6, 2025
1560c95
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Jan 6, 2025
bee39f3
Update test
chapuni Jan 6, 2025
d854fb1
Rewind switch DefaultCase. (to #113112)
chapuni Jan 7, 2025
bac2967
Enable addCounters
chapuni Jan 7, 2025
6bae87d
Get rid of structual bindings
chapuni Jan 8, 2025
c8edf58
Flatten with getBranchCounterPair(SkipCntForOld)
chapuni Jan 8, 2025
ec6892d
Merge branch 'users/chapuni/cov/single/getpair' into users/chapuni/co…
chapuni Jan 8, 2025
9b99dde
Merge branch 'users/chapuni/cov/single/nextcount-base' into users/cha…
chapuni Jan 8, 2025
e7fd5cd
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Jan 8, 2025
b3cdf25
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 8, 2025
af75972
Revert "Rewind switch DefaultCase. (to #113112)"
chapuni Jan 8, 2025
fa04eb4
Resurrect merge conflict
chapuni Jan 8, 2025
4428c9d
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 8, 2025
ebf4e60
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 8, 2025
1223936
Dissolve assert
chapuni Jan 8, 2025
ed54cbb
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 8, 2025
3c62522
Dissolve assert
chapuni Jan 8, 2025
2ee4fe9
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 8, 2025
ee5f3bb
Merge branches 'users/chapuni/cov/single/loop', 'users/chapuni/cov/si…
chapuni Jan 8, 2025
7f16c19
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Jan 8, 2025
fb5ec10
Merge branch 'users/chapuni/cov/single/binop' into users/chapuni/cov/…
chapuni Jan 8, 2025
c887048
Merge branch 'users/chapuni/cov/single/switch' into users/chapuni/cov…
chapuni Jan 8, 2025
f2ba219
Update comments
chapuni Jan 8, 2025
97015cb
Decorate the mock
chapuni Jan 8, 2025
0e2997d
Dissolve the old behavior
chapuni Jan 8, 2025
9a40d20
Will be pruned after the migration of SingleByte.
chapuni Jan 9, 2025
b548e71
Add comments
chapuni Jan 9, 2025
13fbcde
Merge branch 'main' into users/chapuni/cov/single/replace
chapuni Jan 9, 2025
789eeab
Merge branch 'main' into users/chapuni/cov/single/getpair
chapuni Jan 9, 2025
8683882
Merge branch 'users/chapuni/cov/single/replace' into users/chapuni/co…
chapuni Jan 9, 2025
de5756c
Merge branch 'main' into users/chapuni/cov/single/pair
chapuni Jan 9, 2025
6d16b1c
Merge branch 'users/chapuni/cov/single/getpair' into users/chapuni/co…
chapuni Jan 9, 2025
0aa930a
Merge branch 'users/chapuni/cov/single/pair' into users/chapuni/cov/s…
chapuni Jan 9, 2025
fea7da1
Merge branch 'users/chapuni/cov/single/nextcount-base' into users/cha…
chapuni Jan 9, 2025
bdcf47e
Merge branch 'users/chapuni/cov/single/nextcount' into users/chapuni/…
chapuni Jan 9, 2025
df025eb
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 9, 2025
c36c840
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 9, 2025
0e1a753
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 9, 2025
e2810c9
Merge branch 'users/chapuni/cov/single/base' into users/chapuni/cov/s…
chapuni Jan 9, 2025
73176fb
Merge branches 'users/chapuni/cov/single/loop', 'users/chapuni/cov/si…
chapuni Jan 9, 2025
b0cb921
Merge branch 'users/chapuni/cov/single/binop-base' into users/chapuni…
chapuni Jan 9, 2025
7fd26c5
Merge branch 'users/chapuni/cov/single/binop' into users/chapuni/cov/…
chapuni Jan 9, 2025
644c47c
Merge branch 'users/chapuni/cov/single/switch' into users/chapuni/cov…
chapuni Jan 9, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions clang/lib/CodeGen/CGExpr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5146,8 +5146,9 @@ std::optional<LValue> HandleConditionalOperatorLValueSimpleCase(

if (!CGF.ContainsLabel(Dead)) {
// If the true case is live, we need to track its region.
if (CondExprBool)
CGF.incrementProfileCounter(E);
CGF.incrementProfileCounter(CondExprBool ? CGF.UseExecPath
: CGF.UseSkipPath,
E, /*UseBoth=*/true);
CGF.markStmtMaybeUsed(Dead);
// If a throw expression we emit it and return an undefined lvalue
// because it can't be used.
Expand Down Expand Up @@ -5186,7 +5187,7 @@ ConditionalInfo EmitConditionalBlocks(CodeGenFunction &CGF,

// Any temporaries created here are conditional.
CGF.EmitBlock(Info.lhsBlock);
CGF.incrementProfileCounter(E);
CGF.incrementProfileCounter(CGF.UseExecPath, E);
eval.begin(CGF);
Info.LHS = BranchGenFunc(CGF, E->getTrueExpr());
eval.end(CGF);
Expand All @@ -5197,6 +5198,7 @@ ConditionalInfo EmitConditionalBlocks(CodeGenFunction &CGF,

// Any temporaries created here are conditional.
CGF.EmitBlock(Info.rhsBlock);
CGF.incrementProfileCounter(CGF.UseSkipPath, E);
eval.begin(CGF);
Info.RHS = BranchGenFunc(CGF, E->getFalseExpr());
eval.end(CGF);
Expand Down
14 changes: 2 additions & 12 deletions clang/lib/CodeGen/CGExprAgg.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,6 @@ using namespace CodeGen;
// Aggregate Expression Emitter
//===----------------------------------------------------------------------===//

namespace llvm {
extern cl::opt<bool> EnableSingleByteCoverage;
} // namespace llvm

namespace {
class AggExprEmitter : public StmtVisitor<AggExprEmitter> {
CodeGenFunction &CGF;
Expand Down Expand Up @@ -1293,10 +1289,7 @@ VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) {

eval.begin(CGF);
CGF.EmitBlock(LHSBlock);
if (llvm::EnableSingleByteCoverage)
CGF.incrementProfileCounter(E->getTrueExpr());
else
CGF.incrementProfileCounter(E);
CGF.incrementProfileCounter(CGF.UseExecPath, E);
Visit(E->getTrueExpr());
eval.end(CGF);

Expand All @@ -1311,8 +1304,7 @@ VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) {

eval.begin(CGF);
CGF.EmitBlock(RHSBlock);
if (llvm::EnableSingleByteCoverage)
CGF.incrementProfileCounter(E->getFalseExpr());
CGF.incrementProfileCounter(CGF.UseSkipPath, E);
Visit(E->getFalseExpr());
eval.end(CGF);

Expand All @@ -1321,8 +1313,6 @@ VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) {
E->getType());

CGF.EmitBlock(ContBlock);
if (llvm::EnableSingleByteCoverage)
CGF.incrementProfileCounter(E);
}

void AggExprEmitter::VisitChooseExpr(const ChooseExpr *CE) {
Expand Down
15 changes: 2 additions & 13 deletions clang/lib/CodeGen/CGExprComplex.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,6 @@ using namespace CodeGen;
// Complex Expression Emitter
//===----------------------------------------------------------------------===//

namespace llvm {
extern cl::opt<bool> EnableSingleByteCoverage;
} // namespace llvm

typedef CodeGenFunction::ComplexPairTy ComplexPairTy;

/// Return the complex type that we are meant to emit.
Expand Down Expand Up @@ -1379,25 +1375,18 @@ VisitAbstractConditionalOperator(const AbstractConditionalOperator *E) {

eval.begin(CGF);
CGF.EmitBlock(LHSBlock);
if (llvm::EnableSingleByteCoverage)
CGF.incrementProfileCounter(E->getTrueExpr());
else
CGF.incrementProfileCounter(E);

CGF.incrementProfileCounter(CGF.UseExecPath, E);
ComplexPairTy LHS = Visit(E->getTrueExpr());
LHSBlock = Builder.GetInsertBlock();
CGF.EmitBranch(ContBlock);
eval.end(CGF);

eval.begin(CGF);
CGF.EmitBlock(RHSBlock);
if (llvm::EnableSingleByteCoverage)
CGF.incrementProfileCounter(E->getFalseExpr());
CGF.incrementProfileCounter(CGF.UseSkipPath, E);
ComplexPairTy RHS = Visit(E->getFalseExpr());
RHSBlock = Builder.GetInsertBlock();
CGF.EmitBlock(ContBlock);
if (llvm::EnableSingleByteCoverage)
CGF.incrementProfileCounter(E);
eval.end(CGF);

// Create a PHI node for the real part.
Expand Down
Loading
Loading