From defd3f6b694a5091da92d925738631b8359c43bb Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 18 Jun 2024 11:10:14 +0900 Subject: [PATCH 1/6] Update ReleaseNotes for MC/DC changes. --- clang/docs/ReleaseNotes.rst | 14 ++++++++++++++ llvm/docs/ReleaseNotes.rst | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 36efeb8c70cca..7ef4fc21c37be 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -586,6 +586,20 @@ Improvements to Clang's time-trace - Clang now specifies that using ``auto`` in a lambda parameter is a C++14 extension when appropriate. (`#46059: `_). +Improvements to Coverage mapping +-------------------------------- + +- Macros defined in system headers are not expanded in coverage + mapping. Conditional expressions in system header macros are no + longer taken into account for branch coverage. They can be included + with ``-mllvm -system-headers-coverage``. (#78920) +- MC/DC coverage has been improved. (#82448) + - The maximum number of conditions is no longer limited to 6. See + `this ` for + more details. + - The format of profraw generated by the runtime is not backwards + compatible. + Bug Fixes in This Version ------------------------- - Clang's ``-Wundefined-func-template`` no longer warns on pure virtual diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index 5fdbc9f349af4..555e2632d80a0 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -70,6 +70,13 @@ Changes to the LLVM IR records by default. Details of the change and instructions on how to update any downstream tools and tests can be found in the `migration docs `_. +* Semantics of MC/DC intrinsics have been changed. + * ``llvm.instprof.mcdc.parameters``: 3rd argument has been changed + from bytes to bits. + * ``llvm.instprof.mcdc.condbitmap.update``: Removed. + * ``llvm.instprof.mcdc.tvbitmap.update``: 3rd argument has been + removed. The next argument has been changed from byte index to bit + index. Changes to LLVM infrastructure ------------------------------ From dc6cd31ef029f0f130a56a39701aa0ee79e6b2c9 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 18 Jun 2024 21:55:20 +0900 Subject: [PATCH 2/6] Reflect feedbacks. --- clang/docs/ReleaseNotes.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 7ef4fc21c37be..0b477dc9f3f2a 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -586,19 +586,19 @@ Improvements to Clang's time-trace - Clang now specifies that using ``auto`` in a lambda parameter is a C++14 extension when appropriate. (`#46059: `_). -Improvements to Coverage mapping +Improvements to Coverage Mapping -------------------------------- - Macros defined in system headers are not expanded in coverage mapping. Conditional expressions in system header macros are no longer taken into account for branch coverage. They can be included - with ``-mllvm -system-headers-coverage``. (#78920) -- MC/DC coverage has been improved. (#82448) + with ``-mllvm -system-headers-coverage``. + (`#78920: `_) +- MC/DC Coverage has been improved. + (`#82448: `_) - The maximum number of conditions is no longer limited to 6. See `this ` for more details. - - The format of profraw generated by the runtime is not backwards - compatible. Bug Fixes in This Version ------------------------- From 0a537dcc5976b8dc1969d0015645c5e55cb583c7 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 18 Jun 2024 22:02:36 +0900 Subject: [PATCH 3/6] Prune colons --- clang/docs/ReleaseNotes.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 0b477dc9f3f2a..30b302c2220f3 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -593,9 +593,9 @@ Improvements to Coverage Mapping mapping. Conditional expressions in system header macros are no longer taken into account for branch coverage. They can be included with ``-mllvm -system-headers-coverage``. - (`#78920: `_) + (`#78920 `_) - MC/DC Coverage has been improved. - (`#82448: `_) + (`#82448 `_) - The maximum number of conditions is no longer limited to 6. See `this ` for more details. From 8196edeb533f171c445d0328ba3f4f7eaac6e6ad Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 18 Jun 2024 22:11:57 +0900 Subject: [PATCH 4/6] Try to fix sphinx error --- llvm/docs/ReleaseNotes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index 555e2632d80a0..fdf2e7de7c6aa 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -71,6 +71,7 @@ Changes to the LLVM IR any downstream tools and tests can be found in the `migration docs `_. * Semantics of MC/DC intrinsics have been changed. + * ``llvm.instprof.mcdc.parameters``: 3rd argument has been changed from bytes to bits. * ``llvm.instprof.mcdc.condbitmap.update``: Removed. From fdc0c58fa319664fd43ee6a1e6f72dfe0cb144ff Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 18 Jun 2024 22:21:56 +0900 Subject: [PATCH 5/6] Revert "Prune colons" This reverts commit 0a537dcc5976b8dc1969d0015645c5e55cb583c7. --- clang/docs/ReleaseNotes.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 30b302c2220f3..0b477dc9f3f2a 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -593,9 +593,9 @@ Improvements to Coverage Mapping mapping. Conditional expressions in system header macros are no longer taken into account for branch coverage. They can be included with ``-mllvm -system-headers-coverage``. - (`#78920 `_) + (`#78920: `_) - MC/DC Coverage has been improved. - (`#82448 `_) + (`#82448: `_) - The maximum number of conditions is no longer limited to 6. See `this ` for more details. From 819e130edeac87aea5442c6cf21d2c68c508950d Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Tue, 18 Jun 2024 22:30:57 +0900 Subject: [PATCH 6/6] Insert a break. Why. --- clang/docs/ReleaseNotes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 0b477dc9f3f2a..2a142d785e6fc 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -596,6 +596,7 @@ Improvements to Coverage Mapping (`#78920: `_) - MC/DC Coverage has been improved. (`#82448: `_) + - The maximum number of conditions is no longer limited to 6. See `this ` for more details.