[mlir][ODS] Fully qualify names in generated bytecode readers and writers
The code generated by `-gen-bytecode` referred to MLIR and LLVM
constructs such as `MLIRContext`, `DialectBytecodeReader`,
`LogicalResult`, `TypeSwitch` and `getChecked` without qualification,
as did the snippets in `BytecodeBase.td`. It therefore only compiled in
a source file with `using namespace mlir;`.
This PR fully qualifies all names emitted by the generator and by
`BytecodeBase.td`. Performed a minor refactor while doing so that also fixes an error message and makes the code less ad-hoc
Co-authored-by: Claude <noreply at anthropic.com>
[Offload] Don't use libomptarget allocation types in liboffload (#240830)
Use liboffload types to describe memory types from the liboffload
interface all the way to the plugins. Convert in libomptarget from its
own types to liboffload ones.
Because this was the last usage of omptarget.h in liboffload, remove the
includes.
Note: there's no longer a default memory type in liboffload. Which in
practice was always resolved to be device memory so it doesn't really
matter.
Assisted by Claude.
[ValueTracking] Know alignment of pointer IVs stepped by a GEP (#237132)
A pointer phi that is advanced by a getelementptr of itself, such as
%iv = phi ptr [ %start, %preheader ], [ %iv.next, %latch ]
%iv.next = getelementptr i8, ptr %iv, i64 16
had no known alignment unless an llvm.assume anchored it. The existing
recurrence handling in computeKnownBitsFromOperator() only matches a
BinaryOperator step, so pointer IVs were not covered.
Every value the phi takes is the start value plus a whole number of
steps, and tz(a + b) >= min(tz(a), tz(b)). Use the trailing zeros of the
start value, evaluated on its incoming edge, and the maximum preserved
alignment of the step GEP as a lower bound on the trailing zeros of the
phi.
This lets InferAlignment and other clients of known bits recover the
alignment of loop-carried pointers.
[4 lines not shown]
[IRBuilder] Enable GEP canonicalization by default (#240885)
This enables canonicalization of GEPs to ptradd form by default, with a
disableGEPCanonicalization() opt-out. The opt-out is added to all the
places where this would currently affect test output.
disableGEPCanonicalization() calls will get dropped in followup changes,
together with the necessary test adjustments.
AI was used to insert the disableGEPCanonicalization() calls in all the
necessary places.
[libc] Use a syscall wrapper for symlinkat
This PR move symlinkat behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
[libc] Use a syscall wrapper for symlink
This PR move symlink behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
[libc] Use a syscall wrapper for linkat
This PR move linkat behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
[libc] Use a syscall wrapper for getsid
This PR move getsid behind the centralized syscall wrappers, following libc/docs/dev/syscall_wrapper_refactor.md.
[Offload] allow GenericProfiler.h to compile with GCC (#241174)
The current GenericProfiler header doesn't compile with GCC. GCC >= 12
don't seem to like the `[[maybe_unused]]` in the deduction guide, while
older ones don't support the deduction guide at all.
LLVM minimum GCC version seems to be still 7.4 so adjust the
GenericProfiler header to not use the deduction guide.
Assisted by Claude.
lang/go127: Update to 1.27.4
Changes:
go1.27.4 (released 2026-11-10) includes security fixes to cgo, the go
command, the compiler, the linker, and the net/http package, as well
as bug fixes to the assembler, the compiler, the runtime, toolchain
bootstrapping, and the crypto/fips140, crypto/hkdf, crypto/rsa,
crypto/tls, and net packages.
MFH: 2026Q4
(cherry picked from commit d385e2920918ef942585f9955d9e31f0a0c22f05)
lang/go126: Update to 1.26.11
Changes:
go1.26.11 (released 2026-11-10) includes security fixes to cgo, the go
command, the compiler, the linker, and the net/http package, as well
as bug fixes to the assembler, the compiler, the runtime, toolchain
bootstrapping, and the crypto/fips140, crypto/hkdf, crypto/rsa,
crypto/tls, net, and net/http packages.
MFH: 2026Q4
(cherry picked from commit c112de9e568feddaf7644108f547d3e1e52ce24b)
[LV][NFC] Add vscale_range(1,16) attribute to more SVE tests (#240844)
This PR follows on from #239669
In some tests like
Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
I've tried to preserve existing tail-folding behaviour by changing
the trip count so that it's not a known multiple of the maximum
value of any scalable VF.
gperftools: updated to 2.19.3
gperftools 2.19.3 is out!
This is another bug-fix release on top of 2.19.2. It updates the
vendored aw-backtrace.
With the previous version of aw-backtrace, we got broken backtraces on
aarch64 when gperftools was built with -fstack-protector-strong, which
is the default compiler setting on many distros, e.g. Ubuntu (see
https://github.com/gperftools/gperftools/issues/1653). This release
fixes that and related issues. aw-backtrace's own CI now also tests
builds with stack protector, hardening (-mbranch-protection or
-fcf-protection), without frame pointers, and, on x86-64,
x86-64-v3 builds (stack realignment).
Notable changes:
* aw-backtrace now has a small piece of assembly (aw-asm-x86_64.S and
[25 lines not shown]
acpi_cpu: No longer disable idle during suspend
This had been introduced in 3331373ce733 ("Disable CPU idle states
during suspend and reenable them during resume.") to work around C-state
selection logic which would skip C-states which returned immediately,
considering them "broken".
This workaround is incompatible with suspend-to-idle however, which
requires CPUs to be in their idle states, and is no longer relevant
either way since b0baaaaecf1a ("Avoid comparing negative signed to
positive unsignad values.") removed the C-state skipping logic the
previous change was working around.
Reviewed by: olce
Sponsored by: The FreeBSD Foundation
Pull Request: https://ron-dev.freebsd.org/FreeBSD/src/pulls/71
Differential Revision: https://reviews.freebsd.org/D60649
[CIR][X86] Add support for cmpps/cmppd* builtins (#228491)
This basically ports corresponding OGCG code using `cir.vec.fcmp`
instruction and/or intrinsic calls.
I used claude to help with testing and mechanical code changes.