https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -983,7 +979,7 @@ void CodeGenPGO::mapRegionCounters(const Decl *D) {
// for most embedded applications. Setting a maximum value prevents the
// bitmap footprint from growing too large without the user's knowledge. In
// the future, this value could be adjusted with a c
@@ -983,7 +979,7 @@ void CodeGenPGO::mapRegionCounters(const Decl *D) {
// for most embedded applications. Setting a maximum value prevents the
// bitmap footprint from growing too large without the user's knowledge. In
// the future, this value could be adjusted with a c
https://github.com/hanickadot edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -723,7 +737,15 @@ struct MCDCCoverageBuilder {
if (I == CondIDs.end())
return -1;
else
- return I->second;
+ return I->second.ID;
+ }
+
+ void ccc(const Expr *CondExpr, mcdc::ConditionIDs IDs) {
hanickadot wrote:
this should be nam
https://github.com/hanickadot requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -223,9 +223,130 @@ Expected CounterMappingContext::evaluate(const
Counter &C) const {
return LastPoppedValue;
}
+mcdc::TVIdxBuilder::TVIdxBuilder(const SmallVectorImpl &NextIDs,
+ int Offset)
+: Indices(NextIDs.size()) {
+ // Construc
@@ -1959,9 +2013,44 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
+ void RewindDecision(unsigned Since) {
+#ifndef NDEBUG
+llvm::DenseSet SeenIDs;
+#endif
+unsigned NConds = 0;
hanickadot
@@ -223,9 +223,130 @@ Expected CounterMappingContext::evaluate(const
Counter &C) const {
return LastPoppedValue;
}
+mcdc::TVIdxBuilder::TVIdxBuilder(const SmallVectorImpl &NextIDs,
+ int Offset)
+: Indices(NextIDs.size()) {
+ // Construc
@@ -223,9 +223,130 @@ Expected CounterMappingContext::evaluate(const
Counter &C) const {
return LastPoppedValue;
}
+mcdc::TVIdxBuilder::TVIdxBuilder(const SmallVectorImpl &NextIDs,
+ int Offset)
+: Indices(NextIDs.size()) {
+ // Construc
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/chapuni commented:
Thanks for your comments and sorry for my hasty w-i-p work . I know a few rough
implementations would be there.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.o
@@ -723,7 +737,15 @@ struct MCDCCoverageBuilder {
if (I == CondIDs.end())
return -1;
else
- return I->second;
+ return I->second.ID;
+ }
+
+ void ccc(const Expr *CondExpr, mcdc::ConditionIDs IDs) {
chapuni wrote:
This is w-i-p. Thanks
@@ -1959,9 +2013,44 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
+ void RewindDecision(unsigned Since) {
+#ifndef NDEBUG
+llvm::DenseSet SeenIDs;
+#endif
+unsigned NConds = 0;
chapuni wr
chapuni wrote:
@hanickadot Your comments to `llvm/CoverageMapping.cpp` are not for this PR.
See #80676 .
They are my preferences.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.ll
hanickadot wrote:
> @hanickadot Your comments to `llvm/CoverageMapping.cpp` are not for this PR.
> See #80676 .
>
> They are my preferences.
Didn't know the context, I saw it green as added. Just ignore it.
https://github.com/llvm/llvm-project/pull/82448
__
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/chapuni ready_for_review
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/chapuni commented:
TODO:
* Version bump in file formats (wip)
* Update documents
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
@@ -973,9 +970,11 @@ void InstrLowerer::lowerMCDCTestVectorBitmapUpdate(
auto *MCDCCondBitmapAddr = Update->getMCDCCondBitmapAddr();
auto *BitmapAddr = getBitmapAddress(Update);
- // Load Temp Val.
+ // Load Temp Val + BitmapIdx.
// %mcdc.temp = load i32, ptr %mcdc.a
@@ -1201,19 +1197,22 @@ void CodeGenPGO::emitMCDCCondBitmapUpdate(CGBuilderTy
&Builder, const Expr *S,
// Extract the ID of the condition we are setting in the bitmap.
const auto &Branch = BranchStateIter->second;
assert(Branch.ID >= 0 && "Condition has no ID!");
+ asse
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1201,19 +1197,22 @@ void CodeGenPGO::emitMCDCCondBitmapUpdate(CGBuilderTy
&Builder, const Expr *S,
// Extract the ID of the condition we are setting in the bitmap.
const auto &Branch = BranchStateIter->second;
assert(Branch.ID >= 0 && "Condition has no ID!");
+ asse
@@ -1128,9 +1122,11 @@ void CodeGenPGO::emitMCDCParameters(CGBuilderTy
&Builder) {
// Emit intrinsic representing MCDC bitmap parameters at function entry.
// This is used by the instrumentation pass, but it isn't actually lowered to
// anything.
- llvm::Value *Args[3]
@@ -1201,19 +1197,22 @@ void CodeGenPGO::emitMCDCCondBitmapUpdate(CGBuilderTy
&Builder, const Expr *S,
// Extract the ID of the condition we are setting in the bitmap.
const auto &Branch = BranchStateIter->second;
assert(Branch.ID >= 0 && "Condition has no ID!");
+ asse
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -983,7 +979,7 @@ void CodeGenPGO::mapRegionCounters(const Decl *D) {
// for most embedded applications. Setting a maximum value prevents the
// bitmap footprint from growing too large without the user's knowledge. In
// the future, this value could be adjusted with a c
@@ -1201,19 +1197,22 @@ void CodeGenPGO::emitMCDCCondBitmapUpdate(CGBuilderTy
&Builder, const Expr *S,
// Extract the ID of the condition we are setting in the bitmap.
const auto &Branch = BranchStateIter->second;
assert(Branch.ID >= 0 && "Condition has no ID!");
+ asse
@@ -983,7 +979,7 @@ void CodeGenPGO::mapRegionCounters(const Decl *D) {
// for most embedded applications. Setting a maximum value prevents the
// bitmap footprint from growing too large without the user's knowledge. In
// the future, this value could be adjusted with a c
https://github.com/Jugst3r edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Jugst3r deleted
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
RenjiSann wrote:
Hello !
Any update on this ?
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
evodius96 wrote:
> Could I update release notes later? I am afraid since I have been always
> missing release schedules.
I think I'm OK with this; I think the changes make sense. I'd like to see how
others feel.
https://github.com/llvm/llvm-project/pull/82448
https://github.com/evodius96 approved this pull request.
LGTM but I'd like to see if @ornata or others can definitively approve.
Thanks for this work! Comprehensively I think LLVM MC/DC is really good, and
there's still more we can do.
https://github.com/llvm/llvm-project/pull/82448
__
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
https://github.com/ornata edited https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ornata commented:
Some nits on documentation wording. Code looks fine to me.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
https://github.com/ornata approved this pull request.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
@@ -14416,7 +14416,7 @@ Syntax:
::
declare void @llvm.instrprof.mcdc.tvbitmap.update(ptr , i64 ,
-i32 )
+i32 )
hanickadot wrote:
I saw a patt
@@ -14416,7 +14416,7 @@ Syntax:
::
declare void @llvm.instrprof.mcdc.tvbitmap.update(ptr , i64 ,
-i32 )
+i32 )
chapuni wrote:
I wanted to lea
@@ -484,10 +484,31 @@ MC/DC Instrumentation
-
When instrumenting for Modified Condition/Decision Coverage (MC/DC) using the
-clang option ``-fcoverage-mcdc``, users are limited to at most **six**
leaf-level
-conditions in a boolean expression. A warning w
https://github.com/hanickadot edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2122,20 +2135,70 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
- void createDecision(const BinaryOperator *E) {
+ void createOrCancelDecision(const BinaryOperator *E, unsigned Since) {
unsigned NumCon
@@ -2122,20 +2135,70 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
- void createDecision(const BinaryOperator *E) {
+ void createOrCancelDecision(const BinaryOperator *E, unsigned Since) {
unsigned NumCon
@@ -2122,20 +2135,70 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
- void createDecision(const BinaryOperator *E) {
+ void createOrCancelDecision(const BinaryOperator *E, unsigned Since) {
unsigned NumCon
https://github.com/chapuni closed
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/hanickadot approved this pull request.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
zmodem wrote:
This broke the lit tests on mac:
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/1096/
I'll revert to green for now.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
htt
chapuni wrote:
Oh, it's apple-specific continuous mode test :(
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -190,18 +190,30 @@ class SourceMappingRegion {
bool isBranch() const { return FalseCount.has_value(); }
+ bool isMCDCBranch() const {
+const auto *BranchParams =
std::get_if(&MCDCParams);
+assert(BranchParams == nullptr || BranchParams->ID >= 0);
--
@@ -190,18 +190,30 @@ class SourceMappingRegion {
bool isBranch() const { return FalseCount.has_value(); }
+ bool isMCDCBranch() const {
+const auto *BranchParams =
std::get_if(&MCDCParams);
+assert(BranchParams == nullptr || BranchParams->ID >= 0);
+return (B
@@ -2050,23 +2069,74 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
- void createDecision(const BinaryOperator *E) {
+ void createOrCancelDecision(const BinaryOperator *E, unsigned Since) {
unsigned NumCon
@@ -983,7 +979,7 @@ void CodeGenPGO::mapRegionCounters(const Decl *D) {
// for most embedded applications. Setting a maximum value prevents the
// bitmap footprint from growing too large without the user's knowledge. In
// the future, this value could be adjusted with a c
@@ -983,7 +979,7 @@ void CodeGenPGO::mapRegionCounters(const Decl *D) {
// for most embedded applications. Setting a maximum value prevents the
// bitmap footprint from growing too large without the user's knowledge. In
// the future, this value could be adjusted with a c
chapuni wrote:
For now, I've implemented almost functionalities for this.
Both `-fmcdc-max-conditions=32767` and `-fmcdc-max-test-vectors=0x7FFE` are
cc1options.
`llvm-cov` can understand `clang-18`'s profdata (and objects).
TODO: documents and test cases
https://github.com/llvm/llvm-pro
@@ -2050,23 +2069,74 @@ struct CounterCoverageMappingBuilder
subtractCounters(ParentCount, TrueCount));
}
- void createDecision(const BinaryOperator *E) {
+ void createOrCancelDecision(const BinaryOperator *E, unsigned Since) {
unsigned NumCon
@@ -1128,9 +1122,11 @@ void CodeGenPGO::emitMCDCParameters(CGBuilderTy
&Builder) {
// Emit intrinsic representing MCDC bitmap parameters at function entry.
// This is used by the instrumentation pass, but it isn't actually lowered to
// anything.
- llvm::Value *Args[3]
@@ -190,18 +190,30 @@ class SourceMappingRegion {
bool isBranch() const { return FalseCount.has_value(); }
+ bool isMCDCBranch() const {
+const auto *BranchParams =
std::get_if(&MCDCParams);
+assert(BranchParams == nullptr || BranchParams->ID >= 0);
--
@@ -190,18 +190,30 @@ class SourceMappingRegion {
bool isBranch() const { return FalseCount.has_value(); }
+ bool isMCDCBranch() const {
+const auto *BranchParams =
std::get_if(&MCDCParams);
+assert(BranchParams == nullptr || BranchParams->ID >= 0);
+return (B
https://github.com/chapuni edited
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
chapuni wrote:
I am certain this is ready for land.
Could I update release notes later? I am afraid since I have been always
missing release schedules.
https://github.com/llvm/llvm-project/pull/82448
___
cfe-commits mailing list
cfe-commits@lists.llv
71 matches
Mail list logo