<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/docs/CoverageMappingFormat.rst, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[llvm] Fix typos in documentation (#140275)</title>
<updated>2025-05-16T19:37:43+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-05-16T19:37:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ad6bb707730247abc07810c0598434a86361e049'/>
<id>ad6bb707730247abc07810c0598434a86361e049</id>
<content type='text'>
Co-authored-by: Matt Arsenault &lt;arsenm2@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Matt Arsenault &lt;arsenm2@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Reapply: [MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)</title>
<updated>2024-06-14T10:31:56+00:00</updated>
<author>
<name>NAKAMURA Takumi</name>
<email>geek4civic@gmail.com</email>
</author>
<published>2024-06-13T11:09:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=71f8b441ed6a944ceb4530b49e8588dcbb1e0066'/>
<id>71f8b441ed6a944ceb4530b49e8588dcbb1e0066</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)"</title>
<updated>2024-06-14T08:47:41+00:00</updated>
<author>
<name>Hans Wennborg</name>
<email>hans@chromium.org</email>
</author>
<published>2024-06-14T08:32:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b422fa6b62160f5eeb038d816d05e039182dde56'/>
<id>b422fa6b62160f5eeb038d816d05e039182dde56</id>
<content type='text'>
This broke the lit tests on Mac:
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/1096/

&gt; By storing possible test vectors instead of combinations of conditions,
&gt; the restriction is dramatically relaxed.
&gt;
&gt; This introduces two options to `cc1`:
&gt;
&gt; * `-fmcdc-max-conditions=32767`
&gt; * `-fmcdc-max-test-vectors=2147483646`
&gt;
&gt; This change makes coverage mapping, profraw, and profdata incompatible
&gt; with Clang-18.
&gt;
&gt; - Bitmap semantics changed. It is incompatible with previous format.
&gt; - `BitmapIdx` in `Decision` points to the end of the bitmap.
&gt; - Bitmap is packed per function.
&gt; - `llvm-cov` can understand `profdata` generated by `llvm-profdata-18`.
&gt;
&gt; RFC:
&gt; https://discourse.llvm.org/t/rfc-coverage-new-algorithm-and-file-format-for-mc-dc/76798

This reverts commit 7ead2d8c7e9114b3f23666209a1654939987cb30.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This broke the lit tests on Mac:
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/1096/

&gt; By storing possible test vectors instead of combinations of conditions,
&gt; the restriction is dramatically relaxed.
&gt;
&gt; This introduces two options to `cc1`:
&gt;
&gt; * `-fmcdc-max-conditions=32767`
&gt; * `-fmcdc-max-test-vectors=2147483646`
&gt;
&gt; This change makes coverage mapping, profraw, and profdata incompatible
&gt; with Clang-18.
&gt;
&gt; - Bitmap semantics changed. It is incompatible with previous format.
&gt; - `BitmapIdx` in `Decision` points to the end of the bitmap.
&gt; - Bitmap is packed per function.
&gt; - `llvm-cov` can understand `profdata` generated by `llvm-profdata-18`.
&gt;
&gt; RFC:
&gt; https://discourse.llvm.org/t/rfc-coverage-new-algorithm-and-file-format-for-mc-dc/76798

This reverts commit 7ead2d8c7e9114b3f23666209a1654939987cb30.
</pre>
</div>
</content>
</entry>
<entry>
<title>[MC/DC][Coverage] Loosen the limit of NumConds from 6 (#82448)</title>
<updated>2024-06-13T11:09:02+00:00</updated>
<author>
<name>NAKAMURA Takumi</name>
<email>geek4civic@gmail.com</email>
</author>
<published>2024-06-13T11:09:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7ead2d8c7e9114b3f23666209a1654939987cb30'/>
<id>7ead2d8c7e9114b3f23666209a1654939987cb30</id>
<content type='text'>
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</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][NFC] Update top-level Code Coverage documentation to include MC/DC.</title>
<updated>2024-01-22T21:34:37+00:00</updated>
<author>
<name>Alan Phipps</name>
<email>a-phipps@ti.com</email>
</author>
<published>2024-01-22T20:27:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8789b7e5559c0c419d5247f60866e29ab3b651a8'/>
<id>8789b7e5559c0c419d5247f60866e29ab3b651a8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm][docs] Fix typo in `CoverageMappingFormat.rst` (#71189)</title>
<updated>2023-12-10T16:52:47+00:00</updated>
<author>
<name>Animcogn</name>
<email>corbanvilla@gmail.com</email>
</author>
<published>2023-12-10T16:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=00441733da76e59ed7440145b7d17750d3a75b77'/>
<id>00441733da76e59ed7440145b7d17750d3a75b77</id>
<content type='text'>
A small typographical fix in `CoverageMappingFormat.rst`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A small typographical fix in `CoverageMappingFormat.rst`.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix LLVM Sphinx bot</title>
<updated>2023-08-18T17:15:38+00:00</updated>
<author>
<name>Aaron Ballman</name>
<email>aaron@aaronballman.com</email>
</author>
<published>2023-08-18T17:15:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cf5e918c9a0ff4ea5ebfdc86782c59a515537803'/>
<id>cf5e918c9a0ff4ea5ebfdc86782c59a515537803</id>
<content type='text'>
This addresses issues found by:
https://lab.llvm.org/buildbot/#/builders/30/builds/39010
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This addresses issues found by:
https://lab.llvm.org/buildbot/#/builders/30/builds/39010
</pre>
</div>
</content>
</entry>
<entry>
<title>Reland "[llvm-cov] Support multi-source object files for convert-for-testing"</title>
<updated>2023-08-18T16:43:45+00:00</updated>
<author>
<name>Yuhao Gu</name>
<email>yhgu2000@outlook.com</email>
</author>
<published>2023-08-18T16:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=57cb2f6ffe63bbb1b753310aaa102614c00249ec'/>
<id>57cb2f6ffe63bbb1b753310aaa102614c00249ec</id>
<content type='text'>
`llvm-cov convert-for-testing` only functions properly when the input binary contains a single source file. When the binary has multiple source files, a `Malformed coverage data` error will occur when the generated .covmapping is read back. This is because the testing format lacks support for indicating the size of its file records, and current implementation just assumes there's only one record in it. This patch fixes this problem by introducing a new testing format version.

Changes to the code:

- Add a new format version. The version number is stored in the the last 8 bytes of the orignial magic number field to be backward-compatible.
- Output a LEB128 number before the file records section to indicate its size in the new version.
- Change the format parsing code correspondingly.
- Update the document to formalize the testing format.
- Additionally, fix the bug when converting COFF binaries.

Reviewed By: phosek, gulfem

Differential Revision: https://reviews.llvm.org/D156611
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`llvm-cov convert-for-testing` only functions properly when the input binary contains a single source file. When the binary has multiple source files, a `Malformed coverage data` error will occur when the generated .covmapping is read back. This is because the testing format lacks support for indicating the size of its file records, and current implementation just assumes there's only one record in it. This patch fixes this problem by introducing a new testing format version.

Changes to the code:

- Add a new format version. The version number is stored in the the last 8 bytes of the orignial magic number field to be backward-compatible.
- Output a LEB128 number before the file records section to indicate its size in the new version.
- Change the format parsing code correspondingly.
- Update the document to formalize the testing format.
- Additionally, fix the bug when converting COFF binaries.

Reviewed By: phosek, gulfem

Differential Revision: https://reviews.llvm.org/D156611
</pre>
</div>
</content>
</entry>
<entry>
<title>[Coverage] Store compilation dir separately in coverage mapping</title>
<updated>2021-02-18T22:34:39+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@google.com</email>
</author>
<published>2021-02-10T08:25:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5fbd1a333aa1a0b70903d036b98ea56c51ae5224'/>
<id>5fbd1a333aa1a0b70903d036b98ea56c51ae5224</id>
<content type='text'>
We currently always store absolute filenames in coverage mapping.  This
is problematic for several reasons. It poses a problem for distributed
compilation as source location might vary across machines.  We are also
duplicating the path prefix potentially wasting space.

This change modifies how we store filenames in coverage mapping. Rather
than absolute paths, it stores the compilation directory and file paths
as given to the compiler, either relative or absolute. Later when
reading the coverage mapping information, we recombine relative paths
with the working directory. This approach is similar to handling
ofDW_AT_comp_dir in DWARF.

Finally, we also provide a new option, -fprofile-compilation-dir akin
to -fdebug-compilation-dir which can be used to manually override the
compilation directory which is useful in distributed compilation cases.

Differential Revision: https://reviews.llvm.org/D95753
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We currently always store absolute filenames in coverage mapping.  This
is problematic for several reasons. It poses a problem for distributed
compilation as source location might vary across machines.  We are also
duplicating the path prefix potentially wasting space.

This change modifies how we store filenames in coverage mapping. Rather
than absolute paths, it stores the compilation directory and file paths
as given to the compiler, either relative or absolute. Later when
reading the coverage mapping information, we recombine relative paths
with the working directory. This approach is similar to handling
ofDW_AT_comp_dir in DWARF.

Finally, we also provide a new option, -fprofile-compilation-dir akin
to -fdebug-compilation-dir which can be used to manually override the
compilation directory which is useful in distributed compilation cases.

Differential Revision: https://reviews.llvm.org/D95753
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[Coverage] Store compilation dir separately in coverage mapping"</title>
<updated>2021-02-18T20:50:24+00:00</updated>
<author>
<name>Petr Hosek</name>
<email>phosek@google.com</email>
</author>
<published>2021-02-18T20:47:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fbf8b957fdc1d421f86049669a9af6cd2c05971d'/>
<id>fbf8b957fdc1d421f86049669a9af6cd2c05971d</id>
<content type='text'>
This reverts commit 97ec8fa5bb07e3f5bf25ddcb216b545cd3d03b65 since
the test is failing on some bots.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 97ec8fa5bb07e3f5bf25ddcb216b545cd3d03b65 since
the test is failing on some bots.
</pre>
</div>
</content>
</entry>
</feed>
