[llvm-dwarfdump][LineCov 3/3] Add IR analysis for variable coverage (#195342)
Patch 3 of 3 to add to llvm-dwarfdump the ability to measure DWARF
coverage of local variables in terms of source lines, as discussed in
this RFC:
https://discourse.llvm.org/t/rfc-debug-info-coverage-tool-v2/83266
This patch adds an IR-level analysis in order to more accurately compute
the defined ranges for each variable. This avoids the problem of the
more naïve approach relying on source scopes, which overcounts as
coverable those lines where the variable is not yet defined (e.g. stack
variables).
The IR analysis requires IR to be provided to llvm-dwarfdump as a
separate `--variable-coverage-bitcode-file` argument (either textual IR
or bitcode; can be produced by various means e.g. `--save-temps
--emit-llvm`, `-ffat-lto-objects`,
[wllvm](https://github.com/travitch/whole-program-llvm)). The
recommended way to obtain a whole-program bitcode file is to use wllvm
[5 lines not shown]
[AMDGPU] Improve SelectionDAG codegen around barrier intrinsics (#207688)
When lowering some intrinsics use generic AND/OR nodes instead of
specific machine instructions. This allows DAG combines and ISel to
select better instructions like S_BFE_U32.
[LV] Tests for combined exit conditions (#205104)
Some initial tests for loops where earlier scalar transforms have
combined a countable exit with an uncountable one.
[AssumeBundleQueries] Remove unused code (#203927)
Some of the utilities in AssumeBundleQueris was only ever used in tests
for them, so there isn't much point in keeping the code around.
[offload] Fix duplicate __llvm_write_custom_profile on Windows PGO builds (#207366)
MSVC/clang-cl lack __attribute__((weak)), so GlobalHandler.cpp provided
a strong stub for __llvm_write_custom_profile. When clang_rt.profile is
linked (e.g. instrumented/PGO builds) lld-link rejects the duplicate
strong symbol.
Replace the stub + CMake workaround with the /alternatename linker
pragma, which is the standard Windows weak-symbol equivalent used by
compiler-rt itself. The linker picks compiler-rt's strong definition
when present.
Fix the guard: use _WIN32 && !__MINGW32__ (not _MSC_VER) so the stub and
/alternatename pragma apply to plain clang-on-Windows too, while MinGW
(which supports __attribute__((weak)) natively) continues to use the
real weak declaration.
Also fix the stub signature from 8 to 10 parameters to match the header.
Assisted-by: Claude
[lldb] Reintroduce ConstString stats (#207694)
These stats were removed in ca59c69132eef55cc42bf8854706590dfddf5584 .
This patch restores the stats in their original form by tracking the
removed value in our own LLDB-specific counter.
news/canlock-up: Update to 3.3.2
3.3.2 2026-07-04
Bugfix: canlock-hp: Define parameter list for strip_body()
as "void" (Patch from Dennis Preiser)
Document that canlock-hp subpackage requires an US-ASCII
based POSIX locale (EBCDIC is not supported)
Add SPDX copyright and license identifiers for all files of
the source tree. Note that the license terms are unchanged
for all files that already contained such identifiers
Some documentation files (like "README" and "ChangeLog")
formerly had neither copyrights nor licenses assigned.
No copyright and CC0-1.0 license are declared now
Package is REUSE 3.3 conformant (according to "reuse lint"):
<https://reuse.software/spec-3.3/>
[RISCV][NFC] Remove unnecessary ZIP/VISNI checks (#207683)
We should remove them when removing `XRivosVizip` and `XRivosVisni`
but it seems UTC failed to do that.
[AArch64][InstCombine] xor(cmpne) -> cmpeq (#207007)
Fold xor(cmpne(pg, v, 0), pg) into cmpeq(pv, v, 0)
Created after initially trying as a DAGCombine in #206931.
news/libcanlock: Update to 3.3.2
3.3.2 2026-07-04
Bugfix: Modified declaration of RFC5869HkdfResult() in header
to match the function definition
Bugfix: Modified definition of RFC2104HmacResult() to match
the function declaration in header
Add support for C23 memset_explicit() to cl_clear_secret()
Add SPDX copyright and license identifiers for all files of
the source tree. Note that the license terms are unchanged
for all files that already contained such identifiers
Some documentation files (like "README" and "ChangeLog")
formerly had neither copyrights nor licenses assigned.
No copyright and CC0-1.0 license are declared now
Package is REUSE 3.3 conformant (according to "reuse lint"):
<https://reuse.software/spec-3.3/>
ibcore: Fix GID sysctl fallback formatting
When a GID table entry is empty or not yet present in the cache,
show_port_gid() falls back to printing a zero GID. Use the existing
GID_PRINT_FMT/GID_PRINT_ARGS helpers instead of Linux's %pI6 format,
which FreeBSD printf treats as a pointer followed by "I6".
This makes empty GID sysctl entries consistently report
0000:0000:0000:0000:0000:0000:0000:0000.
Tested by: Wafa Hamzah <wafah at nvidia.com> (mlx5_ib)
Reviewed by: jhb, kib
Sponsored by: NVIDIA Networking
Fixes: 6a75471dbcf0 ("OFED: Various changes from Linux 4.19")
Differential Revision: https://reviews.freebsd.org/D58042
[MCP] Fix bug in spill copy elimination folding chain across a call. (#206858)
findLastSeenDefInCopy interface does not check for possible register
clobbering between the def and current instruction. That may lead to not
having a caller preserved register being preserved across a call.
Replaced with findAvailCopy that also does checks for a regmask operand
between the def and current instruction.
net/rsync: Add back the FLAGS option
This restores support for copying file flags and fixes a long-standing
peeve of mine by renaming the command-line option to --file-flags,
better matching the naming style of other rsync options. Full backward
compatibility is maintained, including with older servers.
Reviewed by: rodrigo
Differential Revision: https://reviews.freebsd.org/D57645
[mlir][x86] AMX memref source check (#206785)
Adds extra checks to AMX lowering to ensure data is read from memrefs as
tensors are not supported by x86 dialect ops.
Reapply [IR] Explicitly specify target feature for module asm (#204548) (#207677)
Reapply with a use-after-free fix. The MC subtarget used for inline
assembly has to stay alive until finalization, not only during the
emitInlineAsm() call.
-----
Support specifying additional properties on module-level inline
assembly. In particular, the target features and target CPU can now be
specified as follows:
module asm(target_features: "+foo", target_cpu: "bar")
"asm line 1"
"asm line 2"
There may be multiple module inline assembly blocks with different
properties.
[10 lines not shown]
[lldb] Reject NULL key in PythonDictionary::GetItem (#205753)
A `breakpoint set -P <class>` with an invalid-UTF-8 class name crashes
lldb with `EXC_BAD_ACCESS`. The class name is passed through
unmodified, so the byte sequence `\xd0p` (an incomplete two-byte UTF-8
sequence) reaches the Python layer:
```
./bin/lldb -b -o $'breakpoint set -P \xd0p -f main.cpp' ./bin/lldb
...
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/
Stack dump:
#4 PythonDictionary::GetItem(PythonObject const&) const
#6 PythonDictionary::GetItemForKey(PythonObject const&) const
#7 PythonObject::ResolveNameWithDictionary(StringRef, PythonDictionary const&)
#9 ScriptedPythonInterface::CreatePluginObject<...>(...)
```
`ResolveNameWithDictionary` builds a `PythonString` from the class name
[41 lines not shown]
[lldb][test] Add expedited-stack-memory backtrace/locals packet test (#205897)
Add a Darwin API test that checks which gdb-remote packets lldb sends
while
inspecting the stack at a public stop, using the gdb-remote packet log
(the
same approach as TestExpeditedThreadPCs.py).
debugserver expedites the frame-pointer backchain in the `jThreadsInfo`
reply
at a public stop and lldb caches it, so:
- A backtrace (`GetNumFrames` + `GetFrameAtIndex` over every frame)
sends no
packets at all. With the memory cache disabled it must read the
backchain
frame by frame, which confirms the test exercises the unwinder's memory
reads.
[17 lines not shown]