[CIR] Set `builtin` attribute for new and delete calls (#184920)
This adds code to set the `builtin` attribute when needed on operator
new and delete calls. This also required setting `nobuiltin` for
replaceable global allocation functions and threading the `builtin`
attribute through the LLVM dialect.
Merge tag 'rproc-v7.0-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
Pull remoteproc fixes from Bjorn Andersson:
- Correct the early return from the i.MX remoteproc prepare
operation, which prevented the platform-specific prepare
function from being reached
- Ensure that the Mediatek SCP clock is released during system
suspend after the recent refactoring to avoid issues with the
clock framework's prepare lock.
- Correct the type of the subsys_name_len field in the sysmon
event QMI message, as the recent introduction of big endian
support in the QMI encoder highlighted the type mismatch and
resulted in a failure to encode the message
- Roll back the devm_ioremap_resource_wc() to a devm_ioremap_wc()
in the Qualcomm WCNSS remoteproc driver, after reports that
[7 lines not shown]
Add concurrent state polling to Phase 1 of unit stop wait
virtlogd.socket (and potentially other socket/target units) can be
deactivated implicitly by systemd as a dependency of another unit
stopping. When this happens, the explicit Stop job we issue either
never fires a JobRemoved signal or fires it very late, causing the
code to wait the full 95s timeout even though the unit is already
inactive.
Fix by racing the JobRemoved wait against a 200ms-interval ActiveState
poll. Whichever resolves first wins; if the unit becomes inactive
first, Phase 2 is skipped entirely since there is nothing left to
wait for.
[libc] Force to inline syscall_impl on x86_64 (#178153)
With currently only LIBC_INLINE, we just hint the compiler to inline the
function which however in practice is not always the case.
This is in preparation for adding SHSTK support which requires the
system call enabling it to be inlined into do_start().
[libc++] Switch to the new docker image in the CI (#185843)
This also simplifies the workflow file a bit and removes a redundant
`generic-cxx26` configuration in stage 3.
NAS-140240 / 27.0.0-BETA.1 / Convert mountd pseudo service to SimpleService (#18429)
The mountd pseudo service currently inherits from PseudoServiceBase, but
it properly should inherit from SimpleService. This is because it's a
simple wrapper around `nfs-mountd` systemd service. As such, the
override functions (including the prior commit) are not necessary and
possibly not functional.
This PR implements the proper format for mountd.
This has been tested on a HA VM to confirm it eliminates middleware
exceptions generated by the previous faulty implementation.
InstCombine: Support basic phis in SimplifyDemandedFPClass (#184124)
Some complex function edge case epilogs are only handled under
some control flow paths (e.g. lgamma and erfcinv).
[InstCombine] Fix profile metadata propagation in InstCombine select folding (#179743)
Propagate profile metadata when canonicalizing SPF and drop it when
folding select instructions with logical AND/OR conditions. This fixes
profile verification failures in Transforms/InstCombine/select-and-or.ll.
1. Select Pattern Factor (SPF) Canonicalization
When canonicalizing SPF patterns (like umax/umin), InstCombine
transforms sequences like select i1 %cond,(select i1 %cmp, %x, %y), %z
into intrinsic calls wrapped in a new select. The new outer select
directly replaces the original select instruction, and its condition
(%cond) remains structurally identical. Because the condition and its
evaluated true/false semantics are unchanged, it is ok to copy the
original !prof branch weight metadata to the newly created select.
2. Logical Boolean Folds (foldSelectOfBools)
For logical boolean folds (e.g., transforming select (~a | c), a, b into
select a, (select c, true, b), false), InstCombine restructures complex
[3 lines not shown]
[TableGen] Let -register-info-debug dump the Artificial flag (#185899)
Dump the Artificial flag for RegisterClasses, SubRegIndices and
Registers. To avoid clutter it is only dumped when the flag is set (has
value 1).
[mlir][affine] Bail out when store permutation map has broadcast dimensions (#184618)
When the vectorized loop is an outer loop and the store index uses an
inner loop's IV (which is invariant w.r.t. the outer loop),
makePermutationMap
produces a broadcast map (e.g. (d0) -> (0)). A vector.transfer_write
with
broadcast dimensions is invalid, causing a verifier error.
Fix: check for AffineConstantExpr results in the store permutation map
and
bail out of vectorization, preserving the scalar loop nest.
Fixes #131135
Assisted-by: Claude Code
[DataLayout] Add a specifier for element-aligned vectors (#180617)
This adds the "ve" specifier to Data Layout, which says that vectors are
element-aligned by default for a target.
Note that we also remove the default vector specs for 64 and 128 bit
vectors - these match the natural alignment of those vectors, so they
didn't actually have any functional effect.
[bazel][mlir] Remove non-existent file mlir/run_lit.sh (#185729)
This file does not exist. Surprisingly, it's not a fatal error to have
it in the list, as long as you don't explicitly reference it.
[DirectX] Split long vectors in DXILResourceAccess (#184732)
If a vector has more than 4 elements, the `resource.load` and
`resource.store`
intrinsics aren't able to handle it. Split these into multiple calls.
Fixes #167542
[Metal][HLSL] Add support for dumping reflection (#185444)
The Metal Shader converter can output shader reflection information into
a JSON file. This connects the -Fre flag (DXC's flag for reflection) to
the Metal Shader Converter tool step to produce the JSON file. As a
temporary state the -Fre flag will error when used without the -metal
flag.
This is required to address
https://github.com/llvm/offload-test-suite/issues/452
Re-land #181258
[Dexter] Add missing calls to SBDebugger::{Initialize,Terminate} (#185535)
When using LLDB, the first and last call should be
SBDebugger::Initialize and SBDebugger::Terminate respectively.
While we're resilient against mistakes, I'm adding an assert (#185162)
to debug builds to catch those mistakes in-tree as they have the
potential to leak resources. The assert was tripped by Dexter.
This PR adds the missing calls to SBDebugger::{Initialize,Terminate},
and while I was at it, I also added a missing call to
SBDebugger::Destroy. With that, the Dexter tests pass locally with the
assert enabled.
interfaces: multi-dhcp6c support #7647
This splits off rtsold and dhcp6c into separate processes.
I'm not entirely sure why we settled for a single deamon of
dhcp6c back in the day, but there are certianly downsides to
it and I don't see something that wasn't fixed in the meantime
that makes this not work.
Merge tag 'powerpc-7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
Pull powerpc fixes from Madhavan Srinivasan:
- Correct MSI allocation tracking
- Always use 64 bits PTE for powerpc/e500
- Fix inline assembly for clang build on PPC32
- Fixes for clang build issues in powerpc64/ftrace
- Fixes for powerpc64/bpf JIT and tailcall support
- Cleanup MPC83XX devicetrees
- Fix keymile vendor prefix
- Fix to use big-endian types for crash variables
Thanks to Abhishek Dubey, Christophe Leroy (CS GROUP), Hari Bathini,
Heiko Schocher, J. Neuschäfer, Mahesh Salgaonkar, Nam Cao, Nilay Shroff,
Rob Herring (Arm), Saket Kumar Bhaskar, Sourabh Jain, Stan Johnson, and
Venkat Rao Bagalkote.
* tag 'powerpc-7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (23 commits)
powerpc/pseries: Correct MSI allocation tracking
[20 lines not shown]