Remove implementation details from the NTP server create schema
- Drop the NTPServerCreate docstring
- Give the overridden `address` field its description back; the
generated JSON schema had lost the inherited one
Check chrony server addresses for whitespace in one pass
Use any(c.isspace() ...), which stops at the first whitespace character,
and build the list of servers in the same loop that logs the skipped
ones instead of checking each address twice.
[mlir][acc] Fixes Issue HostDataOp verifier crash on block-argument data operands (#228226)
Used dyn_cast_if_present in HostDataOp::verify so data operands with no
defining op (block arguments) emit "expect data entry operation as
defining op" instead of asserting in dyn_cast.
Fixes #226641
Log the reason when SED initial setup fails
Every failure during SED initial setup returned a status and threw
away the error. A wrong password, a disk that dropped off the bus and
a drive that refused commands all looked the same in the log.
The error is now logged with its traceback before the status is
returned. The returned status does not change.
[mlir][OpenACC] Diagnose unmapped parallel loops in GPU lowering (#225641)
ACCCGToGPU requires parallel dimensions to be assigned before lowering.
Diagnose scf.parallel operations without acc.par_dims inside
acc.compute_region before rewriting.
Keep barrier ancestor lookups within the current compute region so
enclosing host loops are not treated as GPU execution scopes.
Add diagnostic coverage for unmapped parallel loops in func.func and
gpu.func, including nested regions, and verify that surrounding host
loops remain valid. Give the launch-argument remapping test explicit
sequential dimensions.
[NFC][sanitizer] Link LLVMOption and allow strtof in internal symbolizer (#228490)
Commit f6c78b8262f4 (#228321) moved MC command-line options into
`MCCLOptions.cpp` and added an `LLVMOption` dependency to `LLVMMC`.
Because
`MCAsmInfo.cpp` references `MCCLOptions::Global`, `MCCLOptions.cpp` and
its
generated option parser (which also calls `strtof` via `llvm::to_float`)
are
pulled into the internal symbolizer link.
Add `LLVMOption` to `build_symbolizer.sh` and `strtof U` to
`global_symbols.txt` so internal symbolizer builds and symbol
verification
succeed.
Fixes: https://lab.llvm.org/buildbot/#/builders/66/builds/38119
Assisted-by: Gemini
[mlir][LLVM] Use a disjoint scope domain when inlining noalias
This matches recent changes to the LLVM inliner.
AI disclosure: Claude wrote the code, I wrote the commit message and
have done initial review.
[mlir][LLVM] Add disjointScopes to AliasScopeDomainAttr
This also updates the MLIR-side inliner to clone disjoint domains
while cloning alias scopes, matching changes to LLVM.
AI disclosure: Claude wrote the code, I wrote the commit message and
looked at the code.
[AMDGPU] Use a disjoint scope domain for merged LDS structs
When lowering LDS values, all the values are mutually disjoint, so we
can use the newly-added disjoint scopes feature to simplify the IR.
AI disclosure: Claude wrote this and I reviewed it and wrote the
commit message
[AMDGPU] Use a disjoint scope domain for noalias kernel arguments
All noalias arguments of a kernel are disjoint with each other, so we
can use a disjoint scope to save on metadata construction.
AI disclosure: Claude wrote this, I looked at it and wrote this
message.
[Inliner] Use a disjoint scope domain for noalias arguments
InlineFunction creates alias.scope/noalias metadata to represent the
set of `noalias` arguments to a function. We don't need the `!noalias`
now that we have the ability to use disjoint scopes, saving us IR size
and metadata bloat.
TODO move these to a previous commit.
Also changes InstCombine to not drop the experimental.noalias.scope.decl
for disjoint scopes even if they're not mentioned in a `!noalias`, but
do still delete them if they're not used.
[IR] Add alias scope domains with disjoint scopes (#218768)
See RFC at
https://discourse.llvm.org/t/rfc-disjoint-scope-alias-scope-noalias-domains/91537
This commit adds support for declaring an alias scope domain disjoint.
Disjoint domains are ones where each scope is implicitly `!noalias`
with each other scope in the domain. This is represented by adding an
`i1` into the scope's domain as the second argument, with `i1 true`
representing disjoint scopes and `i1 false` representing the old
non-disjoint behavior. AutoUpgrade mechanisms have been added to add
in the missing `i1 false` to existing metadata.
This commit updates alias analysis to know about disjoint scopes and
updates the function cloner to also clone the alias domain if it's
disjoint (since, as a herd of LLMs discovered, you don't want the old
IR to be noalias with a clone of itself).
[4 lines not shown]
[clang][Modules] Reimplement Macro Expansion Record Source Location Delta Encoding (#223759)
Source location delta encoding was removed by
https://github.com/llvm/llvm-project/pull/145670 due to a difficult (and
eventually abandoned) bug fix
https://github.com/llvm/llvm-project/pull/145529.
This PR reimplements the encoding to avoid the bug, and adjusts the
order of the fields in the record so that delta encoding achieves more
savings relative to the order we had before.
Assisted by: Claude Code Opus 5.
Fix NTP integration test failures
- Clear chronyd's systemd start limit in the NTP test helpers, before
the test and before restoring the original servers. With the two NTS
servers the migration adds there are five stock servers, so removing
them and adding a test server starts chronyd six times within ten
seconds. systemd refuses the sixth start and service.control only logs
it, so chronyd was stopped for the alert and authdata checks
- Expect the client's ValidationErrors from system.security.update. A
job reports its validation errors with the client's exception class,
not the middleware's
[AMDGPU][GlobalISel] Fold neg/abs modifiers when mad-mix selects the low half (#223535)
selectVOP3PMadMixModsImpl re-runs the fneg/fabs match after rewriting Src to the 32-bit register the 16-bit value is a half of, but only did so on the isExtractHiElt path, not for isExtractLoElt.
The two halves are not symmetric. An fneg/fabs of a 32-bit float only touches bit 31, which is the sign bit of the high half, so folding it into a modifier on the selected high half is correct. The low half's sign bit is bit 15, which such an fneg/fabs leaves alone, so only a modifier that acts on each 16-bit element can be folded there. So the source must be a 2 x 16-bit vector to fold it.
[compiler-rt][ubsan] Add powerpc64le support to offload UBSan HSA interceptors (#228007)
The HSA interceptor library was limited to` x86_64` and `aarch64`,
causing the `hsa-load-order` and `hsa-missing` lit tests to fail on
`powerpc64le`.
All dependencies (sanitizer_offload, RTSanitizerOffload,
llvm-libc-common-utilities)
are already available on powerpc64le Linux and the INTERCEPTOR macro
works
via standard ELF symbol interposition on that platform.
Add PPC64 to ALL_UBSAN_OFFLOAD_SUPPORTED_ARCH to extend support for
powerpc64le.
Co-authored-by: Riyaz Ahmad <riyaz.ahmad at ibm.com>
[clang] Add SPIRVTypes.def to the module map (#228240)
Follow-up to https://github.com/llvm/llvm-project/pull/207077, which
added the file without listing it. Fixes "missing submodule
'Clang_Basic.SPIRVTypes'" in modular builds.
[flang][Semantics] Enforce F2023 C1545 only for generic references
F2023 C1545 requires the consequent-args of a conditional argument to
agree on corank and on the ALLOCATABLE and POINTER attributes, but only
in a reference to a generic procedure. Flang applied the constraint to
every reference containing a conditional argument and rejected conforming
code.
Move the cross-consequent checks out of CheckConditionalArg() and run
them from CheckAndResolveGenericReference(), before ResolveGeneric()
and only when the reference is generic. C1545 is a constraint, not one
of the generic resolution rules in F2023 15.5.5, so check it separately
from candidate matching.
When C1545 fails, return a GenericResolution with errorReported set
without calling ResolveGeneric(). The callers stop analyzing the
reference without additional generic-resolution diagnostics.
GetCalleeAndArguments() also returns before fallback intrinsic probing.
The parse-tree symbol stays generic, so a second analysis of the
[24 lines not shown]