LLVM/project f62556bllvm/docs LangRef.md, llvm/lib/CodeGen/AsmPrinter AsmPrinter.cpp

[dyndbg][AsmPrinter] Add tail padding attributes (#194852)

"tail-pad-to-size"="n": Pad functions up to at least 'n' bytes.
"tail-pad-value"="n": Pad using the value 'n' (default 0).

This patch is to support dynamic debugging, RFC:
https://discourse.llvm.org/t/90113

In order to transfer control from an optimized to an unoptimized function a
debugger may patch the optimized version with a jump to the unoptimized
one.

This patch adds a mechanism to ensure there's enough padding between functions
to avoid patches overwriting unrelated code. It adds padding to the end of
functions smaller then 'n' bytes.

The `.fill` directive expression was discussed here:
https://discourse.llvm.org/t/89658

See the RFC and pull request for discussions of alternative approaches.
DeltaFile
+80-0llvm/test/CodeGen/X86/attr-tail-pad.ll
+23-0llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+17-0llvm/test/Verifier/invalid-tail-pad-attr.ll
+9-0llvm/docs/LangRef.md
+2-0llvm/lib/IR/Verifier.cpp
+131-05 files

FreeNAS/freenas 39c76f2src/middlewared/middlewared/plugins/container attachments.py, src/middlewared/middlewared/plugins/pool_ export.py

Keep container records unless their pool was really destroyed

## Problem
The container FS attachment delegate was the only stateful-workload delegate whose `delete()` destroyed configuration: it undefined the libvirt domain and removed the `container_container` and `container_device` rows, while deliberately leaving the rootfs dataset alone. VMs and apps only stop. That made `pool.export(cascade=True, destroy=False)` — the flow that exists precisely because the pool is moving elsewhere intact — permanently orphan live storage. A container's definition, devices and idmap slice live only in SQLite, nothing on disk can rebuild them (unlike the migrated incus containers, we write no manifest), and a freed idmap slice can be reissued to another container while the surviving rootfs still carries its UID range.

`pool.dataset.delete` reached the same code with no cascade flag at all, so deleting a dataset that a container merely bind-mounted as a FILESYSTEM device destroyed the whole container. And since `query()` only reports containers in ACTIVE_STATES, the cleanup was not even coherent — it dropped the records of running containers and kept those of stopped ones.

## Solution
- **`delete()` is now stop-only**, matching the VM and apps delegates. Records are never removed from the delegate. The unconditional `etc.generate` that hung off its `for`/`else` goes with them — there was no `break` for that `else` to guard.
- **Record removal moved to a new `destroy()` step on the attachment delegate**, which `pool.export` calls once the zpool destroy has returned — the only point that can see whether the data actually went away. `delete()` still has to run first so the datasets are released, whereas discarding configuration is safe only once the data it describes is confirmed gone, and everything in between (the `pool.pre_export` hook, `kill_processes`, the destroy itself) can abort the job with the pool still fully intact. It is gated on `cascade` together with a `destroyed` flag reflecting what the export really did rather than `options['destroy']`: asking to destroy an OFFLINE pool leaves it untouched on its disks, so the requested option on its own would still have discarded records whose storage was intact. The base implementation is a no-op, since the share/task delegates already disposed of their attachments in `delete()` while the pool was still there; the container one matches on the pool its root dataset lives on and ignores runtime state, so stopped containers are cleaned up too, and a container merely bind-mounting the destroyed pool keeps its definition.
- **Containers are re-pointed at their storage when a pool is imported under a new name.** The dataset is always `<pool>/.truenas_containers/containers/<name>`, so the new location is derived rather than guessed. The remap is committed only when the old pool is genuinely gone, the derived dataset exists, and no other container claims it; each container is applied behind its own boundary so one failure cannot abort the import or block the rest.
- **`pool.reimport` no longer starts everything on the pool.** It walks the delegates in start-priority order (it was using registration order, quietly defeating the docker/apps ordering) and calls a new `start_on_import`, which containers and VMs override to honour `autostart`. Previously every stopped container and VM on the pool came up regardless.

Also documents why `storage_paths()` derives the container root from the dataset name rather than its real mountpoint — both consumers need the name-derived form, and switching to the mountpoint would silently stop matching containers on pool export and lock.
DeltaFile
+189-4src/middlewared/middlewared/pytest/unit/plugins/test_container_attachment_matching.py
+192-0tests/api2/test_container_pool_export.py
+154-6src/middlewared/middlewared/plugins/container/attachments.py
+57-0src/middlewared/middlewared/pytest/unit/plugins/test_vm_attachment_matching.py
+52-0src/middlewared/middlewared/pytest/unit/plugins/pool/test_destroy_pool_attachments.py
+36-0src/middlewared/middlewared/plugins/pool_/export.py
+680-104 files not shown
+756-1510 files

LLVM/project 631331ellvm/test/CodeGen/AMDGPU buffer-fat-pointer-atomicrmw-fmin.ll buffer-fat-pointer-atomicrmw-fadd.ll

Rebase, address comments

Created using spr 1.3.7
DeltaFile
+3,809-3,814llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
+3,809-3,814llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
+3,465-3,511llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
+3,465-3,511llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
+3,299-3,240llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
+2,594-2,524llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
+20,441-20,4142,360 files not shown
+143,968-86,7622,366 files

LLVM/project 4625108llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU ucmp.ll scmp.ll

AMDGPU/GlobalISel: Legalize G_SCMP and G_UCMP
DeltaFile
+681-0llvm/test/CodeGen/AMDGPU/scmp.ll
+660-0llvm/test/CodeGen/AMDGPU/ucmp.ll
+2-0llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+1,343-03 files

LLVM/project ba9273allvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp RISCVISelLowering.cpp, llvm/test/Analysis/CostModel/RISCV clmul.ll

[RISCV] Lower scalar `CLMUL` to `vclmul` if `clmul` instruction not available (#212616)

The `Zbc` and `Zvbc` extensions in RISC-V are independent, thus some
hardware may support `Zvbc` (`vclmul(h)`), but not `Zbc` (`clmul(h)`).
Rather than forcing scalar `CLMUL(H)` to expand in this case, simply
insert into a vector register, use `vclmul(h)`, and extract instead.

For now, only allow this for RV64, where `clmul` and `vclmul` both
operate on the same width. RV32 has the potential for similar tricks,
but it would be more complicated, and is left as a FIXME for now.
DeltaFile
+4,993-0llvm/test/CodeGen/RISCV/clmul.ll
+487-0llvm/test/CodeGen/RISCV/clmulh.ll
+64-0llvm/test/Analysis/CostModel/RISCV/clmul.ll
+32-6llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+18-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+5,594-65 files

LLVM/project 01c29d7lldb/test/API/commands/settings TestSettings.py, lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild TestLocationsAfterRebuild.py

[lldb][test] Skip the API tests a WebAssembly target cannot support (#213788)

This is the final batch of skips. Together with a handful of local
changes to LLDB and WAMR, the test suite now passes when targeting
WebAssembly. Each test has a short comment explaining why it's skipped.
DeltaFile
+8-1lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_console.py
+6-1lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
+5-0lldb/test/API/commands/settings/TestSettings.py
+3-1lldb/test/API/lang/cpp/extern_c/TestExternCSymbols.py
+2-1lldb/test/API/functionalities/breakpoint/breakpoint_locations/after_rebuild/TestLocationsAfterRebuild.py
+3-0lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
+27-452 files not shown
+107-1458 files

LLVM/project d50f61fmlir/include/mlir/Dialect/ArmSVE/Transforms Transforms.h, mlir/lib/Conversion/VectorToLLVM ConvertVectorToLLVMPass.cpp

[mlir][ArmSVE] move transform entry points into arm_sve namespace (NFC) (#213949)

This PR moves `populateLowerContractionToSVE*` entry points into the
`arm_sve` namespace for consistency with their Arm Neon counterparts.
DeltaFile
+5-4mlir/include/mlir/Dialect/ArmSVE/Transforms/Transforms.h
+3-2mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp
+2-2mlir/lib/Dialect/ArmSVE/TransformOps/ArmSVEVectorTransformOps.cpp
+2-2mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
+12-104 files

LLVM/project 88d7023lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert SVE header
DeltaFile
+4-3lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+4-52 files

LLVM/project 44891adllvm/test/tools/dsymutil/ARM fat-dylib-update.test

[dsymutil][ARM][NFC] Require AArch64 for fat-dylib-update.test (#213836)

fat-test.arm.dylib contains armv7, armv7s, and arm64 slices, so the test
needs the AArch64 backend in addition to ARM.
DeltaFile
+1-1llvm/test/tools/dsymutil/ARM/fat-dylib-update.test
+1-11 files

LLVM/project a4f88felldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZA header
DeltaFile
+3-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+3-42 files

LLVM/project fe624falldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert PAC
DeltaFile
+2-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+2-42 files

LLVM/project 64092c3lldb/source/ValueObject DILEval.cpp

Remove C++ mentions and rephrase the comment
DeltaFile
+4-7lldb/source/ValueObject/DILEval.cpp
+4-71 files

LLVM/project 660ee62lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert MTE
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

NetBSD/pkgsrc M5b2D1blang/siod distinfo, lang/siod/patches patch-slib.c

   lang/siod: Fix build with GCC 14
VersionDeltaFile
1.1+15-0lang/siod/patches/patch-slib.c
1.14+2-1lang/siod/distinfo
+17-12 files

LLVM/project d12470elldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert TLS
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

NetBSD/pkgsrc ELq87yYdatabases/sdbm distinfo, databases/sdbm/patches patch-ad patch-ab

   databases/sdbm: Fix build with GCC 14 and honor LDFLAGS
VersionDeltaFile
1.5+58-3databases/sdbm/patches/patch-ai
1.3+55-4databases/sdbm/patches/patch-ah
1.6+20-9databases/sdbm/patches/patch-af
1.5+12-12databases/sdbm/patches/patch-ab
1.5+13-3databases/sdbm/patches/patch-ad
1.20+6-6databases/sdbm/distinfo
+164-376 files

LLVM/project c6ee2ddlldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZT
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project 4cca95alldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert SVE
DeltaFile
+12-11lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+12-132 files

LLVM/project ea43c36llvm/test/Transforms/LoopVectorize runtime-checks-diff-wrap-i128-address-space.ll runtime-checks-diff-i128-address-space.ll

Rename test files/move comment to the test function (instead of module-level)
DeltaFile
+0-49llvm/test/Transforms/LoopVectorize/runtime-checks-diff-wrap-i32-address-space.ll
+48-0llvm/test/Transforms/LoopVectorize/runtime-checks-diff-i32-address-space.ll
+0-42llvm/test/Transforms/LoopVectorize/runtime-checks-diff-wrap-i128-address-space.ll
+42-0llvm/test/Transforms/LoopVectorize/runtime-checks-diff-i128-address-space.ll
+90-914 files

LLVM/project a93306bllvm/test/Transforms/LoopVectorize runtime-checks-diff-wrap-i32-address-space.ll

Fix typo in a comment
DeltaFile
+3-3llvm/test/Transforms/LoopVectorize/runtime-checks-diff-wrap-i32-address-space.ll
+3-31 files

LLVM/project 1df3181llvm/lib/Transforms/Utils LoopUtils.cpp, llvm/test/Transforms/LoopVectorize runtime-checks-diff-wrap-i128-address-space.ll

Fix overflow in IC*Stride calculation
DeltaFile
+13-9llvm/lib/Transforms/Utils/LoopUtils.cpp
+1-7llvm/test/Transforms/LoopVectorize/runtime-checks-diff-wrap-i128-address-space.ll
+14-162 files

LLVM/project 1347bcflldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert fpmr
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project 3a7a301llvm/lib/Transforms/Utils LoopUtils.cpp, llvm/test/Transforms/LoopVectorize runtime-checks-difference-scalable.ll

AccessSize must be part of the key
DeltaFile
+128-0llvm/test/Transforms/LoopVectorize/runtime-checks-difference-scalable.ll
+3-2llvm/lib/Transforms/Utils/LoopUtils.cpp
+131-22 files

LLVM/project b9d8c2ellvm/test/Transforms/LoopVectorize runtime-checks-diff-wrap-i32-address-space.ll runtime-checks-diff-wrap-i128-address-space.ll

Add test showing how we incorrectly truncate `ThresholdMinusOne`

AI-generated, then reviewed/modified manually.
DeltaFile
+48-0llvm/test/Transforms/LoopVectorize/runtime-checks-diff-wrap-i128-address-space.ll
+9-8llvm/test/Transforms/LoopVectorize/runtime-checks-diff-wrap-i32-address-space.ll
+57-82 files

LLVM/project a4cc79dlldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert GCS
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project 765e595lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert POE
DeltaFile
+8-6lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+8-82 files

LLVM/project 7c90631lldb/source/Plugins/Process/Linux NativeRegisterContextLinux_arm64.h NativeRegisterContextLinux_arm64.cpp

convert ZA
DeltaFile
+14-9lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
+14-112 files

LLVM/project 800ffc1llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

[AArch64] Make a number of functions static. NFC (#213971)
DeltaFile
+11-10llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+11-101 files

NetBSD/pkgsrc CvAf5uudoc TODO

   doc/TODO: + ffmpeg-9.0, pilot-link-0.15.0.
VersionDeltaFile
1.27692+3-1doc/TODO
+3-11 files

LLVM/project 8248eeflibcxx/test/std/iterators/iterator.range begin-end.container.pass.cpp, libcxx/test/std/language.support/support.initlist/support.initlist.access access.pass.cpp

[libc++] Implement P3016R6: Resolve inconsistencies in begin/end for `valarray` and braced initializer lists (#173637)

This paper is implemented as a Defect Report against C++11 and later
revisions.

- Inclusion of `<typeinfo>` in `<functional>` should be considered as a
  patch to C++ TR1 (https://wg21.link/N1836), while the related
  parts were merged into C++11.
- Changes of `initializer_list` should be considered as a patch to C++11
  paper https://wg21.link/n2672.
- Changes of `valarray`, `std::begin`, and `std::end` and availability
  of range access functions in `<valarray>` should be considered as a
  patch to C++11 paper https://wg21.link/n2930.
- Inclusion of `<typeinfo>` in `<typeindex>` should be considered as a
  patch to C++11 paper https://wg21.link/n2932.
- Changes of `std::cbegin`, `std::cend`, `std::rbegin`, `std::rend`,
  `std::crbegin`, and `std::crend` and the inclusion of
  `<initializer_list>` in `<iterator>` should be considered as a patch to
  https://wg21.link/lwg2128, while LWG2128 is consistently

    [23 lines not shown]
DeltaFile
+168-11libcxx/test/std/iterators/iterator.range/begin-end.container.pass.cpp
+64-27libcxx/test/std/language.support/support.initlist/support.initlist.access/access.pass.cpp
+82-0libcxx/test/std/numerics/numarray/template.valarray/valarray.members/begin-end.pass.cpp
+78-0libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+74-0libcxx/test/std/language.support/support.limits/support.limits.general/valarray.version.compile.pass.cpp
+74-0libcxx/test/std/language.support/support.limits/support.limits.general/initializer_list.version.compile.pass.cpp
+540-3836 files not shown
+832-38142 files