[MLIR][XeGPU] XeGPU Layout adds support for fractional-subgroup-size vector (#183434)
This PR enhances the layout assignment for XeGPU load/store operations
to handle vector size smaller than subgroup size.
Say for vector[4], in case of lane_data=[1], lane_layout=[4] and
inst_data=[4].
The fractional-subgroup-size vector support is required to support the
cross-subgroup reduction case. The number of participant subgroups in
reduction can be small, so it causes each subgroup needs to reduce a
small vector size, often a fraction of subgroup size.
Most layout-based subgroup distribution patterns support
fraction-subgroup-size without no change except a few: reduction,
insert/extract, constant. We don't expect ND operations (like
load_nd/store_nd/dpas) accept fractional-subgroup-size vector.
Revert "[mlir-tblgen] Remove `namespace {}` around OpDocGroup (#182721)" (#183458)
Reverts #182721, it's not needed after #183457.
It was a work around for #182720.
This reverts commit a0f344f69d7eb5d87dd78c628a196a3a7440e792.
[SafeStack] Allow -fsanitize-minimal-runtime with -fsanitize=safestack (#183644)
SafeStack does not require a full sanitizer runtime, so it should be
compatible
with the minimal runtime flag.
[mlir][vector] Fix fold result for empty vector.mask with no results (#180345)
This PR fixes `foldEmptyMaskOp` to return `failure` when folding an
empty vector.mask whose terminatorhas no operands. Previously this case
returned success without producing any folded results, which violates
the folding contract. Fixes #177825.
racket: update to 9.1
- Documentation organization and navigation can be specialized by
language family, to allow users to interact with documentation in a
way that is tailored to that language family. This is currently used
by Rhombus.
- The `for` form and its variants accept an `#:on-length-mismatch`
specifier. 3.18 Iterations and Comprehensions: for, for/list, ...
- DrRacket improves the GUI for choosing color schemes.
- DrRacket has curved syntax arrows. The degree of curvature indicates
the relative left- or right-displacement of the arrow's target.
- DrRacket's "Insert Large Letters" uses characters that match the
comment syntax of the buffer's language, making it useful (and fun!)
in Rhombus.
- The `exn-classify-errno` maps network and filesystem error numbers
on various platforms to posix-standard symbols, to enable more
portable code. 10.2 Exceptions
- The behavior of Racket BC on certain character operations (most
notably `eq?`) is changed to match that of Racket CS, with a small
[18 lines not shown]
racket: update to 9.1
- Documentation organization and navigation can be specialized by
language family, to allow users to interact with documentation in a
way that is tailored to that language family. This is currently used
by Rhombus.
- The `for` form and its variants accept an `#:on-length-mismatch`
specifier. 3.18 Iterations and Comprehensions: for, for/list, ...
- DrRacket improves the GUI for choosing color schemes.
- DrRacket has curved syntax arrows. The degree of curvature indicates
the relative left- or right-displacement of the arrow's target.
- DrRacket's "Insert Large Letters" uses characters that match the
comment syntax of the buffer's language, making it useful (and fun!)
in Rhombus.
- The `exn-classify-errno` maps network and filesystem error numbers
on various platforms to posix-standard symbols, to enable more
portable code. 10.2 Exceptions
- The behavior of Racket BC on certain character operations (most
notably `eq?`) is changed to match that of Racket CS, with a small
[18 lines not shown]
[DenseMap] Add memory barrier for sanitizers in getInlineBuckets/getLargeRep (#183457)
Add a compiler memory barrier to prevent optimizations from triggering
false positives on partially poisoned buckets in (HW)ASan.
Fixes #182720.
[DenseMap] Add memory barrier for sanitizers in getInlineBuckets/getLargeRep
Add a compiler memory barrier to prevent optimizations from triggering
false positives on partially poisoned buckets in (HW)ASan.
Fixes #182720.
Pull Request: https://github.com/llvm/llvm-project/pull/183457
[Sema] Fix crash on invalid operator template-id (#181404)
Add checks in GetNameFromUnqualifiedId to handle invalid TemplateId
cases safely. This avoids a crash when handling an invalid template-id
during error recovery and allows normal error reporting to continue.
Fixes #177549
[LoopUnrollAndJam] Update test unroll-and-jam.ll (NFC) (#183520)
The test `unroll-and-jam.ll` has the following issues:
- Some functions use `%i` and `%I` as variable names, which UTC fails to
distinguish, causing it to update the assertions incorrectly.
- Some tests use parameters for loop bounds, which means they will start
failing in the near future due to the ongoing changes in DA.
To address these issues, this patch updates the test as follows:
- Renames certain variables to avoid the naming conflict.
- For the tests that will be affected by the DA changes, adds variants
with constant loop bounds.