[SPIR-V] Add `llvm.spv.named.boolean.spec.constant` (#187420)
This adds a SPIR-V intrinsic for associating a name (textual identifier)
to a specialisation constant. The name is encoded in metadata, and is
intended to be used within LLVM / by the SPIR-V BE (e.g. #134016 would
be a direct user), as it is never emitted into the SPIR-V object.
Non-boolean and composite specialisation constants will be handled in
the future, via dedicated intrinsics, if there is interest.
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon:
"There's a small crop of fixes for the MPAM resctrl driver, a fix for
SCS/PAC patching with the AMDGPU driver and a page-table fix for
realms running with 52-bit physical addresses:
- Fix DWARF parsing for SCS/PAC patching to work with very large
modules (such as the amdgpu driver)
- Fixes to the mpam resctrl driver
- Fix broken handling of 52-bit physical addresses when sharing
memory from within a realm"
* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
arm64: realm: Fix PTE_NS_SHARED for 52bit PA support
arm_mpam: Force __iomem casts
arm_mpam: Disable preemption when making accesses to fake MSC in kunit test
[2 lines not shown]
[NewPM] Adds a port for AArch64MIPeepholeOpt (#187515)
Adds a port for AArch64MIPeepholeOpt
- Refactored lib/Target/AArch64/AArch64MIPeepholeOpt.cpp to extract base
logic as Impl
- Renamed existing pass with "Legacy" suffix and updated references
- Added NewPM pass AArch64MIPeepholeOptPass
- Updated tests
[SPIRV][NFC] Update `SPV_INTEL_function_pointers` tests to check `spirv-val` output (#182549)
https://github.com/KhronosGroup/SPIRV-Tools/pull/6232 added support for
`SPV_INTEL_function_pointers` on `spirv-val`.
This PR updates some relevant tests to run `spirv-val` and document why
some others are failing.
Merge tag 'v7.0-rc4-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
Pull smb client fixes from Steve French:
- Fix reporting of i_blocks
- Fix Kerberos mounts with different usernames to same server
- Trivial comment cleanup
* tag 'v7.0-rc4-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
smb: client: fix generic/694 due to wrong ->i_blocks
cifs: smb1: fix comment typo
smb: client: fix krb5 mount with username option
[AMDGPU] Update features for gfx1170 (#186107)
- Enable `NoF16PseudoScalarTransInlineConstants` for 11.7.
- Add test for `RequiredExportPriority`, one of the differences between
11.5 and 11.7.
Merge tag 'v7.0-rc4-ksmbd-server-fixes' of git://git.samba.org/ksmbd
Pull smb server fixes from Steve French:
- Three use after free fixes (in close, in compounded ops, and in tree
disconnect)
- Multichannel fix
- return proper volume identifier (superblock uuid if available) in
FS_OBJECT_ID queries
* tag 'v7.0-rc4-ksmbd-server-fixes' of git://git.samba.org/ksmbd:
ksmbd: fix use-after-free in durable v2 replay of active file handles
ksmbd: fix use-after-free of share_conf in compound request
ksmbd: use volume UUID in FS_OBJECT_ID_INFORMATION
ksmbd: unset conn->binding on failed binding request
ksmbd: fix share_conf UAF in tree_conn disconnect
[SLP]Prefer copyable over alternate
If the instructions state is alternate and/or contains non-directly
matching instructions, need to check if it is better to represent such
operations as non-alternate with copyables.
To do this, we need to compare operands between the instructions in their
different representations and choose the best one for optimal
vectorization.
Reviewers: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/183777
Add ui_certificate_name to system.general.config
This commmit adds a `ui_certificate_name` field to
system.general.config output. This allows the UI to avoid
making a much more expensive request to query certificates.
[ACC] Use ExistingOps strictness in ACCSpecializeForDevice for non-specialized functions (#187645)
For non-specialized functions, ACCSpecializeForDevice collects ACC ops
inside compute constructs and applies device specialization patterns via
applyOpPatternsGreedily. With the default AnyOp strictness, the greedy
driver expands the worklist to parent ops when inner ops are modified,
accidentally unwrapping the parent acc.parallel via
ACCRegionUnwrapConversion. This leaves orphaned acc.loop
combined(parallel) ops that lose their parallelism and reduction
information downstream.
Set GreedyRewriteStrictness::ExistingOps so the greedy driver only
processes the initially collected inner ops, preserving the parent
compute construct for ACCComputeLowering to handle.
[GlobalISel] Fold `a bitwiseop (~b +/- c)` -> `a bitwiseop ~(b -/+ c)` (#181725)
Based on the suggestions in #140639, this PR adds the rewrite pattern `a
bitwiseop (~b +/- c)` -> `a bitwiseop ~(b -/+ c)` for AND, OR, and XOR
operations. This rewrite enables lowering to `ANDN`, `ORN`, and `XORN`
operations.
Added new MIR tests in `combine-binop-neg.mir` for AArch64 to verify the
new combine works for various commuted and uncommuted forms with AND,
OR, and XOR and added new LLVM IR tests for RISC-V in `rv32zbb-zbkb.ll`
to ensure the combine produces the expected `ANDN`, `ORN`, and `XORN`
operations.
[AMDGPU] Remove `_e32` patterns for i32 saturated conversions (#187715)
This brings it in line with `i16` conversions. `_e32` patterns are not
needed as `_e64` are later narrowed where possible.
[clang][ssaf] Add whole-program analysis execution layer
This change Introduces the analysis execution layer of the Scalable
Static Analysis Framework. This layer bridges the LUSummary (entity
summaries from the linker phase) to WPASuite (the collection of
whole-program analysis results). It introduces the following classes:
- `AnalysisResult` — base class for all per-analysis results.
- `AnalysisBase` — minimal common base with a private kind tag used by
the driver for dispatch
- `SummaryAnalysis<ResultT, EntitySummaryT>` — processes per-entity
EntitySummary objects from LUSummary.
- `DerivedAnalysis<ResultT, DepResultTs...>` — consumes previously
produced AnalysisResult objects.
- `AnalysisRegistry` — unified `llvm::Registry` backed registry to
register analyses.
- `WPASuite` — Container bundling `EntityIdTable` and all
`AnalysisResult` objects from a driver run.
- `AnalysisDriver` — executes analyses topologically, feeding results of
child analyses to parent analyses.