Skip to content
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

Update ReleaseNotes for MC/DC changes. #95887

Merged
merged 6 commits into from
Jun 18, 2024
Merged

Conversation

chapuni
Copy link
Contributor

@chapuni chapuni commented Jun 18, 2024

Mostly apparent changes (#82448, #95496) are described here.

@llvmbot llvmbot added the clang Clang issues not falling into any other category label Jun 18, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented Jun 18, 2024

@llvm/pr-subscribers-clang

Author: NAKAMURA Takumi (chapuni)

Changes

Mostly apparent changes are described here.


Full diff: https://github.com/llvm/llvm-project/pull/95887.diff

2 Files Affected:

  • (modified) clang/docs/ReleaseNotes.rst (+14)
  • (modified) llvm/docs/ReleaseNotes.rst (+7)
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: <https://github.com/llvm/llvm-project/issues/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 <SourceBasedCodeCoverage.html#mc-dc-instrumentation>` 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
   <https://llvm.org/docs/RemoveDIsDebugInfo.html>`_.
+* 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
 ------------------------------

Copy link
Collaborator

@zmodem zmodem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, I just noticed some minor things.
Thanks for writing release notes!

@@ -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: <https://github.com/llvm/llvm-project/issues/46059>`_).

Improvements to Coverage mapping
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: capital m?

- 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)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the PR/issue number will get linked automatically, so it's better to do it explicitly (see e.g. 46059 above).

- The maximum number of conditions is no longer limited to 6. See
`this <SourceBasedCodeCoverage.html#mc-dc-instrumentation>` for
more details.
- The format of profraw generated by the runtime is not backwards
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this one. Was it backwards compatible before?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be appropriate to drop mentioning backward compatibility here, since it is our common sense.

I wanted to mention incompatibility of data semantics. Apparently, only llvm-cov would be affected.

@chapuni chapuni merged commit 12cf0dc into llvm:main Jun 18, 2024
8 checks passed
@chapuni chapuni deleted the mcdc/relnotes branch June 18, 2024 22:15
AlexisPerry pushed a commit to llvm-project-tlp/llvm-project that referenced this pull request Jul 9, 2024
Mostly apparent changes (llvm#82448, llvm#95496) are described here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang Clang issues not falling into any other category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants