[LoopUnroll][NFC] Simplify recent block frequency tests
Refactor a number of recent tests in
`llvm/test/Transforms/LoopUnroll/branch-weights-freq` to make it
easier to understand and extend them.
The changes mostly resemble the refactoring I recently did in
PR#165635 in response to reviewer comments:
- For each case (e.g., each `-unroll-count` value in
`unroll-epilog.ll`), group all FileCheck directives together. That
way, while digesting a single case, the reader does not need to sift
through all other cases and a complex FileCheck prefix scheme.
- Reduce CFG testing. Drop many FileCheck directives that check for
all basic block labels and branches, and drop the cryptic
`-implicit-check-not` that excludes others. Instead, just use
positive checks for every loop body (represented by `call void @f`),
for relevant metadata, and for the branch instructions to which the
metadata is attached, and use simple negative checks (e.g.,
`-implicit-check-not='!prof'`) to be sure we have not missed any.
[4 lines not shown]
[IR] Update dereferencable wording after opaque pointers (#176991)
The documentation for the dereferenceable argument attribute mentioned
pointee types. Making a distinction around a pointee type no longer
makes sense after the move to opaque pointers.
[AMDGPU] Allow predicates for alias in VFLAT_Real_AllAddr_gfx1250 (#176987)
Expose alias definition earlier, and add a new argument to specify the predicates for alias definition.
This is for downstream development and NFC for now.
[PowerPC] cost modeling for length type VP intrinsic load/store (#168938)
Override and fill in the target hooks for PPC that allow opt to cost
using length style VP intrinsics for load/store.
[TableGen] Emit constexpr versions of some directive/clause functions (#176253)
Several of the functions that TableGen emits into the .cpp files for
OpenACC or OpenMP could be constexpr. They can't just be emitted into
the header files as constexpr as they are because they use "assert" and
"llvm_unreachable".
To preserve the existing functionality, this patch will cause TableGen
to emit the constexpr variants that return the value as std::optional,
where std::nullopt indicates an error. The exisiting functions will
invoke the constexpr versions and call assert/llvm_unreachable if
nullopt is returned. E.g.
```
// .h
constexpr std::optional<Association>
getDirectiveAssociationOpt(Directive D) {
switch (D) {
case ...:
return Association::Block;
[12 lines not shown]
Handle stateful SMB directory services
Directory services secrets will be clustered when stateful SMB
failover is enabled. This requires some logic to sync from TDB
to CTDB and impacts how we restore config.
MC: Add directive for specifying a section's preferred alignment.
The new asm directive:
.prefalign n
specifies that the preferred alignment of the current section is
determined by taking the maximum of ``n`` and the section's minimum
alignment.
Sections whose size is larger than the preferred alignment are aligned
to the preferred alignment. If the size of a section with a preferred
alignment is between the minimum alignment and the preferred alignment,
the section alignment is the smallest power of 2 >= the section size.
Part of this RFC:
https://discourse.llvm.org/t/rfc-enhancing-function-alignment-attributes/88019
Reviewers: efriedma-quic, vitalybuka, MaskRay
[4 lines not shown]
HBSD: Remove more old cruft regarding MAC jail destruction
There was an additional piece of code that needed to be removed. It
called mac_prison_destroy when it doesn't need to be called anymore (or
at least, not where the original call took place).
Favor FreeBSD's MAC jail destruction paths by removing the extra call to
mac_prison_destroy.
Signed-off-by: Shawn Webb <shawn.webb at hardenedbsd.org>
[llvm-objdump] Fix --disassembler-color with --macho flag (#163815)
The --disassembler-color option was being ignored when using the --macho
flag because DisassembleMachO() never called setUseColor() on the
instruction printer.
[mlir][MemRef] Make fold-memref-alias-ops use memref interfaces
This replaces the large switch-cases and operation-specific patterns
in FoldMemRefAliashops with patterns that use the new
IndexedAccessOpInterface and IndexedMemCopyOpInterface, which will
allow us to remove the memref transforms' dependency on the NVGPU
dialect.
This does also resolve some bugs and potential unsoundnesses:
1. We will no longer fold in expand_shape into vector.load or
vector.transfer_read in cases where that would alter the strides
between dimensions in multi-dimensional loads. For example, if we have
a `vector.load %e[%i, %j, %k] : memref<8x8x9xf32>, vector<2x3xf32>`
where %e is
`expand_shape %m [[0], [1], [2. 3]] : memref<8x8x3x3xf32> to 8x8x9xf32,
we will no longer fold in that shape, since that would change which
value would be read (the previous patterns tried to account for this
but failed).
2. Subviews that have non-unit strides in positions that aren't being
[15 lines not shown]
[mlir] Implement indexed access op interfaces for memref, vector, gpu, nvgpu
This commit implements the IndexedAccessOpInterface and
IndexedMemCopyInterface for all operations in the memref and vector
dialects that it would appear to apply to. It follows the code in
FoldMemRefAliasOps and ExtractAddressComputations to define the
interface implementations. This commit also adds the interface to the
GPU subgroup MMA load and store operations and to any NVGPU operations
currently being handled by the in-memref transformations (there may be
more suitable operations in the NVGPU dialect, but I haven't gone
looking systematically)
This code will be tested by a later commit that updates
fold-memref-alias-ops.
Assisted-by: Claude Code, Cursor (interface boilerplate, sketching out
implementations)
[mlir] Add [may]updateStartingPosition to VectorTransferOpInterface
This commit adds methods to VectorTransferOpInterface that allow
transfer operations to be queried for whether their base memref (or
tensor) and permutation map can be updated in some particular way and
then for performing this update. This is part of a series of changes
designed to make passes like fold-memref-alias-ops more generic,
allowing downstream operations, like IREE's transfer_gather, to
participate in them without needing to duplicate patterns.
py-imapclient: updated to 3.1.0
3.1.0
New Features
Simplify IMAP4_TLS class and fix Python 3.14+ compatibility
Other Changes
Fix typo in man page: certifcate -> certificate
Move man page to section 7
update supported python versions in doc
chore(deps-dev): bump mypy from 1.6.1 to 1.8.0
chore(deps-dev): bump sphinx from 6.2.1 to 7.2.6
chore: add setuptools to requirements-dev.txt
chore(deps-dev): bump black from 23.11.0 to 24.4.2
chore(deps-dev): bump pylint from 3.0.2 to 3.2.6
chore(deps-dev): bump flake8 from 6.1.0 to 7.1.0
[12 lines not shown]
NAS-139388 / 26.04 / Simplify ctdb process management for HA (#18062)
Starting / stopping / reconfiguring ctdbd on an active system is fragile
and can and can trigger asserts in ctdbd if there are dependent services
with active ctdb sessions. Since the configuration is static and relies
on internal interfaces, we can simplify the ctdb process management so
that it always runs on truenas HA.
py-sarge: updated to 0.1.8
0.1.8
Fixed 55: Polled subcommands in order to return up-to-date return codes in Pipeline.returncodes.
Fixed 56: Ensure process_ready event is set at the appropriate time.
Fixed 57: Stored exception in command node for use when in asynchronous mode.
Fixed 58: Ensure Capture object has a flush method.