[MLIR][Linalg] Specialize more binary elementwise ops (#192290)
Extends the matching logic for `linalg.generic` ops that can be
represented as named op or `linalg.elementwise` to cover all variants
currently supported by `RegionBuilderHelper::buildBinaryFn`. We
previously detected only `add`, `sub`, `mul` and `div` for floating
point types.
I combined the detection for unary and binary functions to make it
tractable to morph operations such as
```mlir
#map = affine_map<(d0) -> (d0)>
// ...
%c123_i32 = arith.constant 123 : i32
%0 = linalg.generic
{indexing_maps = [#map, #map], iterator_types = ["parallel"]}
ins(%A : tensor<?xi32>) outs(%Out : tensor<?xi32>) {
^bb0(%in: i32, %out: i32):
%v = arith.addi %c123_i32 , %in : i32
[12 lines not shown]
*/wordpress*: upgrade to 7.0
WordPress 7.0 "Billie" ships localized tarballs directly, so drop the
6.9.1+patch workaround and return to the clean DISTVERSION approach.
xhci: Do not drop and add bits in xhci
Drop and Add bits reset the data toggle for high-speed devices in XHCI.
The toggle bit represents the sequence number in USB 2.0 transfers. However,
a device can only recognize that the toggle bit has been reset while in
the HALT state. As a result, the host and device toggle values may
become mismatched, causing xHCI to reject the packet. This issue was
observed while testing the EZ-USB FX2 device.
The transfer may then return to the original value after a
bi-directional TD because the toggle field is only one bit wide. This
explains the reson that we can only receive packets bi-transfer in some
case. Therefore, we do not reset the toggle bit here.
Reviewed by: adrian
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57146
[clang] Avoid invalidating specialization lookup (#196533)
Fixes a use-after-free in `ASTReader::LoadExternalSpecializationsImpl`
when loading external specializations with `-ftime-trace` enabled.
This resolves the https://github.com/llvm/llvm-project/issues/196482 and
builds upon the https://github.com/llvm/llvm-project/pull/172658
The function kept a pointer into `SpecLookups`:
```cpp
LookupTable = &It->getSecond();
```
Then it constructed a `TimeTraceScope` whose name callback calls
`getNameForDiagnostic`. That call may deserialize additional AST state
and mutate `SpecLookups`, invalidating the saved pointer before it is
later used for:
[27 lines not shown]
[Driver][MSVC] Correctly handle the -fuse-ld=(empty) case (#199167)
We need to distinguish the case where `-fuse-ld` is unspecified and when
`-fuse-ld=(empty)` as is already done in the generic `ToolChain`
implementation but wasn't done in the MSVC driver to correctly handle
the `CLANG_DEFAULT_LINKER` CMake option.
[ELF] Reduce symbol partitions to shim binaries (#198718)
The experimental symbol partition feature can move arbitrary symbols and
input sections out of the main partition into named loadable partitions
that consumers extract with `llvm-objcopy --extract-partition`. It is
incompatible with many features, has seen no adoption beyond Chromium's
`build/extract_partition.py`. Chrome hasn't needed this feature for many
years.
The partitioning machinery (per-partition `MarkLive` runs, `moveToMain`,
cross-partition pull in `InputSection::replace`, per-symbol
dynsym/gnuhash/thunk-compat filters, `PartitionIndexSection`,
`copySectionsIntoPartitions`, etc.) does not pull its weight for that.
Remove the partitioning brain and keep a minimal shim shell.
`Symbol::partition` is deleted; every dynsym add goes to
`ctx.mainPart`. `ctx.partitions` wraps a `std::vector<Partition>`
whose iterator yields only the main partition; shim partitions live
in `storage[1..]` and are reached via `shims()`. The two paths that
[10 lines not shown]
[mlir][spirv] Fix `fp8` and `bf16` leaking into unsupported ops (#199102)
Including `SPIRV_AnyFloat` in the majority of types caused fp8 and bf16
to be allowed in ops that are not allowed by float8 and bfloat16
extensions. This patch tries to rectify to only allow fp8 and bf16 in
ops allowed by the respective specs. Additional tests have been also
added to increase the coverage with respect to those types.
Assisted-by: Codex + Claude Code