diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2024-06-13 20:09:02 +0900 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2024-06-14 19:31:56 +0900 |
commit | 71f8b441ed6a944ceb4530b49e8588dcbb1e0066 (patch) | |
tree | e03f6259e4ef7d0512f7c40238d2288f34ac210f /compiler-rt | |
parent | 1ceede3318c29af83b219cca137f5e2c563fc871 (diff) | |
download | llvm-71f8b441ed6a944ceb4530b49e8588dcbb1e0066.zip llvm-71f8b441ed6a944ceb4530b49e8588dcbb1e0066.tar.gz llvm-71f8b441ed6a944ceb4530b49e8588dcbb1e0066.tar.bz2 |
Reapply: [MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)
By storing possible test vectors instead of combinations of conditions,
the restriction is dramatically relaxed.
This introduces two options to `cc1`:
* `-fmcdc-max-conditions=32767`
* `-fmcdc-max-test-vectors=2147483646`
This change makes coverage mapping, profraw, and profdata incompatible
with Clang-18.
- Bitmap semantics changed. It is incompatible with previous format.
- `BitmapIdx` in `Decision` points to the end of the bitmap.
- Bitmap is packed per function.
- `llvm-cov` can understand `profdata` generated by `llvm-profdata-18`.
RFC:
https://discourse.llvm.org/t/rfc-coverage-new-algorithm-and-file-format-for-mc-dc/76798
--
Change(s) since llvmorg-19-init-14288-g7ead2d8c7e91
- Update compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
Diffstat (limited to 'compiler-rt')
-rw-r--r-- | compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c b/compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c index 748af46..d2afe70 100644 --- a/compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c +++ b/compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c @@ -7,7 +7,7 @@ // CHECK: Num Bitmap Bytes: // CHECK-NEXT: $1 // CHECK-NEXT: Bitmap Byte Values: -// CHECK-NEXT: 8 +// CHECK-NEXT: 0x4 #include <stdio.h> #include <stdlib.h> extern int __llvm_profile_is_continuous_mode_enabled(void); |