[RISCV][P-ext] Promote i32 sati/usati intrinsics to i64 on RV64. (#234346)
Instead of using p(u)sati.w. The trade off here is that p(u)sati.w
sometimes requires its output to be sign extended for ABI or compares.
While sati/usati sometimes requires its input to be sign extended
if it isn't a W instruction or an argument/return with the signext
attribute.
The sign extended input is what we would get a from a manually
written clamp pattern in C code. So there's an argument for
consistency.
It might be possible to have RISCVOptWInstrs convert to p(u)sati.w
if we aren't able to remove the sext.w from the input and only
the lower 32 bits of the result are used.
[ci] Add a workflow to run the LLVM test-suite
This adds a reusable workflow that builds and installs Clang at a given
commit, builds and runs the LLVM test-suite and creates a LNT v5 report.
The pipeline workflow can be dispatched manually or through the GitHub
API -- in the future we can trigger it via a cron job or a fancier system
like libc++'s.
Assisted by Claude
devel/libunicode-contour: Update to 0.9.4
While here, download and use UCD version 17.0.0 for build. Ports tree
has UCD 18.0.0 and libunicode-contour does not support UCD 18 yet.
Changelog: https://github.com/contour-terminal/libunicode/releases/tag/v0.9.4
Reported by: GitHub (watch releases)
[MemProf] Handle indirect tail calls in missing frame search and ICP (#236256)
Enable cloning of indirect tail calls. Like other tail calls, the
profiled contexts will miss this frame. Set the tail call bit on the
summary edges synthesized from profile metadata to enable the thin link
tail call search to look through them and synthesize callsite records.
In the ThinLTO backend, perform ICP of these indirect tail calls using
those synthesized callsite records, to enable calling the assigned
clone.
Assisted-by: Gemini
[Bazel] Add TargetParser unit tests (#235040)
Adding support for running the existing TargetParserTests on Bazel
(previously only supported in CMake).
Changes were written manually and reviewed by Codex GPT-6.1 Sol.
[BPF] Fix crash on unused results of CO-RE builtins (#236311)
If the result of __builtin_preserve_field_info(),
__builtin_preserve_type_info() or __builtin_preserve_enum_value() is not
used, e.g., for bpf.c:
```
enum E { A = 4 };
void f(void) { (void)__builtin_preserve_enum_value(*(enum E *)A, 1); }
```
'clang --target=bpf -O2 -g -c bpf.c' crashed in BPFAbstractMemberAccess.
Such a call is collected for relocation through its users only, so a
call whose result is not used is not relocated and is left for
removePreserveAccessIndexIntrinsic(). There, it was handled as a
preserve_struct_access_index() call and replaced with a GEP of its first
argument, which is not a base pointer for these intrinsics.
These intrinsics have no side effects, so just remove such calls.
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
[libc] Declare tcsetattr's termios as const (#236514)
POSIX takes a const struct termios pointer in tcsetattr, and the
implementation already does. Only the declaration in termios.yaml
disagreed, so the generated header rejected a call passing a const
pointer
AI disclosure: this patch was written with Claude Code. I reviewed the
change and checked the declaration against the implementation. There is
no test since only the generated declaration changes
Assisted-by: Claude
[DebugInfo] Salvage replaced urem & srem instructions (#234224)
When `correlated-propagation` removes urem and srem instructions, it
doesn't correctly salvage the debug info. This leads to variables having
incorrect debug info. This patch makes sure we salvage the debug info
before removing the instructions
(See https://github.com/llvm/llvm-project/issues/218631 &
https://github.com/llvm/llvm-project/issues/218633)
[flang][Semantics][Lower] Lower explicit-shape arrays declared with rank-1 integer array bounds (F2023 R818) (#215403)
Part 3 of 3 implementing F2023 explicit-shape-bounds-spec, where a rank-1
INTEGER array of constant size supplies all the bounds of an explicit-shape
array, e.g. `real :: a(n)` or `a(lo:hi)` with rank-1 n/lo/hi declaring an
array of rank size(n). Parts 1 (#188447) and 2 (#203030) added the parsing
and the semantic representation; this part adds lowering, the module-file
round trip, and the folding needed for the feature to be usable end to end.
Executable coverage is in llvm/llvm-test-suite#411.
Representation. Semantics expands such a declaration into one ShapeSpec per
dimension. A bounds array that folds to a constant is folded into ordinary
per-dimension constant bounds at declaration, exactly as if dims(1),dims(2),...
had been written, so every consumer that reads a bound with ToInt64()
(EQUIVALENCE offsets, LBOUND/UBOUND folding, static-shape lowering) sees the
same ShapeSpec the ordinary syntax produces. A non-constant bounds array is
wrapped per dimension in a scalar evaluate::RankOneBoundElement that extracts
element [dim] from the shared rank-1 base; the wrapper is left unfolded so the
module-file writer can emit the original whole-array bound. ArraySpec records
[50 lines not shown]
Initial import of brotli 1.2.1, that fixes CVE 2026-111497.
also includes enhancements in dictionary handling, static init of
some data to reduce size, and minor other clean ups.
the new go and python code, as well as the ignored C encoder are
not included in this import as we don't use them, and they are
more than half the space.
[Reland][Offload][Omp] Compute getBlockLimit through liboffload (#236559)
Add two new device properties accessible through liboffload:
LAUNCH_MAX_NUM_WORK_GROUPS (max blocks) and LAUNCH_MAX_GRID_SIZE (max
total work-items). Using them compute the getBlockLimit in libomptarget
in a backend agnostic way.
Remove getBlockLimit from the Plugin Interface as it's no longer needed.
Assisted by Claude.
[bazel][lldb] Add the first lldb unit tests (#232715)
Start modeling lldb/unittests in the bazel overlay with the
TestingSupport helper libraries (lldbUtilityHelpers, lldbHostHelpers)
and the unit tests that only need lldb's base libraries: UtilityTests,
HostTests, HostCommonTests, SignalsTests and EditlineTests. The
remaining tests follow in later changes.
There are already tests for llvm folder's binaries with bazel:
https://github.com/llvm/llvm-project/blob/c7da05f9828542daaf634a6f4277212b5f6194d5/utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Test names and dependencies mirror the add_lldb_unittest() calls in the
CMake build, so the two are easy to keep in sync.
Several lldb unit tests read files through
lldb_private::GetInputFilePath(), which looks in an Inputs/ directory
next to the test binary. CMake's add_unittest_inputs() copies them
there; this does the same with copy_file, so the inputs land beside the
test binaries in the runfiles tree.
[12 lines not shown]
NAS-144914 / 28.0.0-BETA.1 / Use `force_sql_filters` by default when possible (#20065)
New `_datastore_sql_filters` field lists all fields that are safe to
filter with SQL. If filter is `=`, `in` or `nin`, SQL filters are used
by default. Removes a number of `force_sql_filters` for new-style
plugins. Legacy-style plugins will follow.
gatus: Update to version 5.38.0
What's Changed
feat(alerting): add Resend alerting provider by @geffersonFerraz in #1830
fix(maintenance): validate maintenance windows for external, DNS and SSH endpoints by @anandghegde in #1804
fix(alerting): Redact telegram token from errors on send failure by @hippi345 in #1843
fix(websocket): apply the client timeout to reads and writes by @somaz94 in #1845
fix(ssh): support keyboard-interactive authentication for endpoints and tunnels by @peckto in #1863
fix(security): add comprehensive logging and diagnostics for OIDC (#1802) by @tech00exploere in #1862
fix(jsonpath): support object keys containing dots via quoted accessors by @leotemtem in #1864
fix: Honor minimum-reminder-interval for external endpoints by @yzxcj797 in #1773
chore(alerting): restyle matrix alerts with errors, safe links and escaping by @mazzz1y in #1875