[flang][cuda] Avoid false positive on multi device symbol with components (#192513)
Semantic was wrongly flagging derived-type components as two device
resident object. Update how we collect symbols and count the number of
device resident object.
[mlir] transform dialect; add pre/post-condition type (#191813)
Add a transform dialect type denoting additional invariants on payload
IR usable for pre/post-conditions of a transformation. The invariants
are defined as a list of attributes in the type parameter, where the
attribute implements the interface for invariant-checking. This allows
clients to factor out, explicify and deduplicate precondition
verification logic.
This required adding support for Transform dialect extensions injecting
attributes into the dialects similarly to how they already do this for
operations and types.
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Co-authored-by: Martin Lücke <martin.luecke at amd.com>
Assisted-by: Claude Opus 4.3 / Cursor
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Co-authored-by: Martin Lücke <martin.luecke at amd.com>
[mlir] transform dialect; add pre/post-condition type
Add a transform dialect type denoting additional invariants on payload
IR usable for pre/post-conditions of a transformation. The invariants
are defined as a list of attributes in the type parameter, where the
attribute implements the interface for invariant-checking. This allows
clients to factor out, explicify and deduplicate precondition
verification logic.
This required adding support for Transform dialect extensions injecting
attributes into the dialects similarly to how they already do this for
operations and types.
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Co-authored-by: Martin Lücke <martin.luecke at amd.com>
Assisted-by: Claude Opus 4.3 / Cursor
[BPF] Add exception handling support with .bpf_cleanup section (#192164)
Add support for invoke/landingpad/resume instructions in the BPF backend
so that Rust programs compiled with panic=unwind can run cleanup code
(Drop implementations) when bpf_throw fires.
Changes:
1. BPFISelLowering: Define exception pointer and selector registers
(both R0) so SelectionDAG can lower landingpad instructions.
2. BPFAsmPrinter::emitFunctionBodyEnd: Emit a .bpf_cleanup section with
a flat table of (begin, end, landing_pad) triples using
R_BPF_64_NODYLD32 relocations.
The .bpf_cleanup section layout (12 bytes per entry):
u32 begin // start of the invoke region
u32 end // end of the invoke region
[22 lines not shown]
Suppress printing lambda body for constexpr diagnostics (#185800)
closes #125914
Introduce `SupressLambdaBody` `PrintingPolicy` that is used only for
constexpr diagnostics. This ensures `--print-ast` still works the same.
I also considered other approaches such as modifying the
`PrintingPolicy` in the current `AstContext`, but that might cause
unexpected changes.
Add two tests:
1. To ast-printer-lambda to ensure `--print-ast` works the same.
2. Ensure lambda body is not printed for constexpr diagnostics.
[Clang] Refactor the tests to be more uniform (#191944)
- Add missing "CHECK:" lines to testcases.
- Improve checking to be a bit more readable.
- Move "rm" testcases to the bottom in anticipation of
future refactoring.
Revert "[Clang] Implement P2843R3 - Preprocessing is never undefined" (#192532)
Reverts llvm/llvm-project#192073
Reason for revert: This change caused build failures on Windows when
compiling libcxx.
www/sogo: Update to 5.12.7
5.12.7 is a major release as it fixes 2 major vulnerabilities, 5.12.6
addresses another vulnerability.
While at it:
o pet portlint,
o make the installed configuration file for sysutils/logrotate useable
out of the box by replacing sogo:sogo with sogod:sogod,
o make the installed sogo-backup.sh useable out of the box by:
- correcting the path to sogo-tool,
- changing the function definitions to match sh(1) syntax, saving a
dependency on shells/bash, and
- installing it as executable.
Approved by: acm (maintainer)
Security: https://www.sogo.nu/news/2026/sogo-v5126-released.html
Security: https://www.sogo.nu/news/2026/sogo-v5127-released.html
Differential Revision: https://reviews.freebsd.org/D56426
vio: recover from missed RX interrupts
It seems at least on Oracle Cloud (arm64, KVM) and on vmd, sometimes rx
interrupts get lost. As a workaround, check the virtqueues in vio_rxtick(),
which allows to recover from this situation.
Diff from renaud@
tested by mbuhl@
ok stsp@
[libc] Implement getcontext and setcontext for x86_64 (#192343)
Implemented getcontext and setcontext for x86_64 architecture in LLVM
libc. These functions use inline assembly with naked attributes to
capture and restore the exact register state.
Added:
* src/ucontext/getcontext.h and setcontext.h
* src/ucontext/x86_64/getcontext.cpp and setcontext.cpp
* Hermetic integration test for register preservation.
* Unit tests for basic functionality and signal mask preservation.
Updated entrypoints for x86_64 Linux.
UBSan: Use ubsan_interface.h for synthetic debug info (#171929)
Before the patch, even with the same synthetic function name, they
counted as different functions, because the file name was different.
This makes it easier to analyze data in performance profiles.
`pprof -lines -top <somefile> | grep __ubsan_check_pointer_overflow`
Before:
```
60368049443 6.26% 6.26% 60383492016 6.26% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/TSVC/tsc.inc (inline)
43746146224 4.53% 10.79% 43763767409 4.54% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/SparseCompRow.c (inline)
11670846196 1.21% 26.03% 11673592781 1.21% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/csr_matvec.c (inline)
7948730683 0.82% 29.07% 7949496154 0.82% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/IRSmk/rmatmult3.c (inline)
7442972883 0.77% 30.62% 7447647795 0.77% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/mafft/Galign11.c (inline)
7181873035 0.74% 32.88% 7182846509 0.74% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/ASC_Sequoia/AMGmk/relax.c (inline)
7086681860 0.73% 33.61% 7086681860 0.73% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/SciMark2-C/FFT.c (inline)
6634628163 0.69% 35.03% 6644529197 0.69% __ubsan_check_pointer_overflow test-suite/MultiSource/Benchmarks/Olden/em3d/make_graph.c (inline)
[13 lines not shown]
devel/sope: Update to 5.12.7
This is a minor update, fixing contact searches containing 2 dots.
While at it, pet portlint.
Approved by: acm (maintainer)
Differential Revision: https://reviews.freebsd.org/D56425
[BOLT][Passes] switch remaining Instrumentation containers to ADT. (#192525)
Follow-up to #192289. Swap the remaining `std::unordered_set`/
`std::unordered_map` containers in `Instrumentation.cpp` for `DenseSet`/
`DenseMap`: the `BBToSkip` param and `Visited` local in
`hasAArch64ExclusiveMemop`, and `BBToSkip`, `BBToID`, `VisitedSet` in
`instrumentFunction`. Drop the now-unused `<unordered_set>` include.
The swap removes per-element heap allocations on the hot path, stops
inserting empty buckets on probes where a miss is possible, and replaces
hashed-bucket traversal over node-based storage with lookups over inline
`DenseMap` storage. `BBToID` reads keep `operator[]` since the map is
pre-populated for every basic block of the function, so no
default-construct path is ever taken. NFC.
Measured on `llvm-bolt -instrument` against a relocations-linked
clang-23: -1.3% instrumentation-pass wall time, peak RSS unchanged
(dominated by instrumentation output size).
[mlir][acc] Fix OpenACCCGOpsTest ValueRange construction (#192529)
Ensure that `Value`s are used in the `ValueRange` construction to avoid
failure:
`error: call of overloaded ValueRange(mlir::acc::ParWidthOp&) is
ambiguous`
[clang] implement CWG2064: ignore value dependence for decltype
The 'decltype' for a value-dependent (but non-type-dependent) should be known,
so this patch makes them non-opaque instead.
This patch also implements what's neceessary to allow overloading
on pure differences in instantiation dependence, making `std::void_t`
usable for SFINAE purposes.
This also readds a few test cases from da98651, which was a previous attempt
at resolving CWG2064.
Fixes #8740
Fixes #61818
Fixes #190388
yacc: Fix SYSTEM_NAME
This usually gets bumped by re@ when the version number changes in
sys/conf/newvers.sh, but apparently we forgot for the past two major
versions.
[RISCV] Don't check isApplicableToPLI for simm12 constants. (#192522)
It won't match except when the constant is -1, which we should use li
for. This avoids an unecessary call for hasAllWUsers in that case.