[Flang-RT] Support building no library (#187868)
Allow setting both FLANG_RT_ENABLE_SHARED and FLANG_RT_ENABLE_STATIC to
OFF at the same time.
This is extracted out of #171515 to make that PR a little smaller. By
itself it makes little sense since if not building either the `.a` or
the `.so`, you are not building anything. But with #171515, the module
files are still built, allowing building the modules files without the
library. This is mostly intended for GPGPU targets where building the
library is not always needed, but the module files are.
NAS-140367 / 27.0.0-BETA.1 / Allow the trains to be marked as unstable to make "the system can be upgraded only to the next train" constraint feasible (by themylogin) (by bugclerk) (#18564)
Original PR: https://github.com/truenas/middleware/pull/18541
---------
Co-authored-by: themylogin <themylogin at gmail.com>
[HLSL][DXIL][SPIRV] QuadReadAcrossY intrinsic support (#187440)
This PR adds QuadReadAcrossY intrinsic support in HLSL with codegen for
both DirectX and SPIRV backends. Resolves
https://github.com/llvm/llvm-project/issues/99176.
- [x] Implement `QuadReadAcrossY` clang builtin,
- [x] Link `QuadReadAcrossY` clang builtin with `hlsl_intrinsics.h`
- [x] Add sema checks for `QuadReadAcrossY` to
`CheckHLSLBuiltinFunctionCall` in `SemaChecking.cpp`
- [x] Add codegen for `QuadReadAcrossY` to `EmitHLSLBuiltinExpr` in
`CGBuiltin.cpp`
- [x] Add codegen tests to
`clang/test/CodeGenHLSL/builtins/QuadReadAcrossY.hlsl`
- [x] Add sema tests to
`clang/test/SemaHLSL/BuiltIns/QuadReadAcrossY-errors.hlsl`
- [x] Create the `int_dx_QuadReadAcrossY` intrinsic in
`IntrinsicsDirectX.td`
- [x] Create the `DXILOpMapping` of `int_dx_QuadReadAcrossY` to `123` in
[9 lines not shown]
[mlir][linalg] Fix crash in greedy fusion when producer is fused into multiple consumers (#188561)
When the same producer is fused into multiple consumers in
fuseLinalgOpsGreedily, the second fusion can't find the original op in
the linalgOps vector (already replaced by the first fusion). llvm::find
returns end(), and writing to *end() caused an out-of-bounds stack write
that corrupted the adjacent OpBuilder's context pointer, leading to a
crash.
Fix by checking that find() returned a valid iterator before updating.
Fixes #122247
Assisted-by: Claude Code
cad/route-rnd: [NEW PORT] Flexible, modular autorouter for Printed Circuit Boards
route-rnd is a Free Software flexible, modular autorouter for Printed Circuit
Boards
- modular, supports different routing algorithms
- fits well in a UNIXy workflow
- the designed-for-simplicity file format makes it easy to interface
- fully CLI, no GUI required
- active development, frequent releases
- Free Software license (GNU GPLv2+)
WWW: http://www.repo.hu/projects/route-rnd/
Approved by: db@, yuri@ (Mentors, implicit)
[MLIR] [Mem2Reg] Quick fix for dominance info invalidation (#188518)
We have identified a problem with DominanceInfo caching in Mem2Reg. It
appears to also be subject to incorrect cache hits when regions are
deleted, causing sporadic bugs that are difficult to test for.
This quick fix invalidates region that could be invalidated. This
attempts to not be too eager by only invalidating regions that are
exposed to a `finalizePromotion` call.
Ultimately it would be nice to have the ability to move the cached
information from one region to the next, but this is currently not
supported by DominanceInfo.
I was not able to produce a test for this as it is very sporadic. We
would need to be testing for a case where a region is re-allocated at
the same address as a previously erased region. If you know how to make
this sort of behavior consistent, I would be interested. Otherwise this
might require no testing.
NAS-140383 / 26.0.0-BETA.2 / Fix cloud sync with S3 provider behind a proxy (by themylogin) (#18545)
Automatic cherry-pick failed. Please resolve conflicts by running:
git reset --hard HEAD~1
git cherry-pick -x eb523d8632a47808771d9d50a221c7cd759e9809
If the original PR was merged via a squash, you can just cherry-pick the
squashed commit:
git reset --hard HEAD~1
git cherry-pick -x c040b2c73eca807c505645133085226df2c395be
Rclone v1.73 (using AWS SDK v2) signs the Accept-Encoding: identity
header as part of the SigV4 signature. Some reverse proxies modify that
header before it reaches the S3 gateway, so the server computes a
different signature and rejects the request. Setting
sign_accept_encoding = false excludes that header from the signature,
matching what the old rclone v1.67 did.
[3 lines not shown]
NAS-140367 / 26.0.0-BETA.1 / Allow the trains to be marked as unstable to make "the system can be upgraded only to the next train" constraint feasible (by themylogin) (#18541)
Automatic cherry-pick failed. Please resolve conflicts by running:
git reset --hard HEAD~1
git cherry-pick -x 2dd3ed5551ec1efd4a05c985bd96ea49c9b6141c
git cherry-pick -x 211c0cd4f76638ba0061a4ef7eda9dd48a488fb2
If the original PR was merged via a squash, you can just cherry-pick the
squashed commit:
git reset --hard HEAD~1
git cherry-pick -x 054225c3112f4a19eebcee0279801d2b058511ca
The update design says that "the system can be upgraded only to the next
train". This constraint turned out to be too strict.
Currently, the trains are as follows
```
[69 lines not shown]
[SampleFDO] Check pseudo probe descriptors for unused profile in stale profile matching (#179997)
If a function is fully optimized away in pre-link, it won't show up in
`SymbolMap` in post-link and the check of unused profile would treat it
as unused and allow it to be matched with unrelated functions. Extend
the check to cover such case in post link.
Also make `FuncToProfileNameMap` a MapVector so that we always get the
same iterator sequence out of it in `UpdateWithSalvagedProfiles`.
[HLSL][SPIRV] Add support for -g to generate NonSemantic Debug Info (#187051)
This adds two related changes to HLSL debug info support in the SPIR-V
backend. It's a first small step towards the plan I described in
https://discourse.llvm.org/t/hlsl-spirv-nsdi-debug-info-support-for-clang-dxc/90149.
## Tag HLSL shaders with `DW_LANG_HLSL` in the front-end
`GetSourceLanguage()` in `clang/lib/CodeGen/CGDebugInfo.cpp` checked
`LO.CPlusPlus` before `LO.HLSL`. Since HLSL is compiled as C++, the HLSL
check was never reached. Shaders compiled with `-g` were tagged with
`DW_LANG_C_plus_plus_14` instead of `DW_LANG_HLSL`. The NSDI pass
already had the correct mapping for `DW_LANG_HLSL` but it was never
triggered.
This fixes #136929 and #136995.
## Make `SPIRVEmitNonSemanticDI` activate automatically when `-g` is
used
[43 lines not shown]
[mlir][linalg] Improve inner tile size mismatch diagnostics in pack/unpack verifier (#188525)
Refactor the tile-size consistency check in
`commonVerifierPackAndUnPackOp` from a bulk `all_of` into an indexed
loop so that error messages include the offending dimension index and
the conflicting values, making failures easier to diagnose.
Before:
error: mismatch in inner tile sizes specified and shaped of tiled
dimension in the packed type
After (static/static mismatch):
error: mismatch in inner tile sizes specified and shaped of tiled
dimension in the packed type at index 1: got 8 \!= 4
After (dynamic tile, static packed dim):
error: mismatch in inner tile sizes specified at index 1: got static
shape 8 but dynamic tile size
[3 lines not shown]