[Reassociate][DebugInfo] Salvage debug info before rewriting expression (#182730)
When RewriteExprTree modifies instruction operands, call
`salvageDebugInfo()` before `setOperand()` so debug value expressions
are rewritten while original operands are still intact. This preserves
variable accessibility in debuggers instead of dropping values to
poison.
Fixes #60532
Fixes #61272
[MLIR][WasmSSA] Fix formatting of code blocks in WasmSSAOps.td (NFC) (#184169)
The documentation for the wasmssa dialect has some issues, such as
missing endings in some code blocks and misaligned code blocks, causing
rendering problems. This PR fixes those issues.
Address failures in new ACL tests
This commit fixes some incorrect assumptions made by tooling
that generated a large body of tests to increase coverage
for ACL operations. When a POSIX ACL does not have any
named entries then it is treated as trivial (i.e. no ACL
present). The fix is to add named entries where appropriate
and where tests expect the presence of an ACL to be reported.
[flang][OpenMP] Fix crash when a sliced array is specified in a forall within a workshare construct (#170913)
This is a fix for two problems that caused a crash:
1. Thread-local variables sometimes are required to be parallelized.
Added a special case to handle this in
`LowerWorkshare.cpp:isSafeToParallelize`.
2. Race condition caused by a `nowait` added to the `omp.workshare` if
it is the last operation in a block. This allowed multiple threads to
execute the `omp.workshare` region concurrently. Since
_FortranAPushValue modifies a shared stack, this concurrent access
causes a crash. Disable the addition of `nowait` and rely on the
implicit barrier at the the of the `omp.workshare` region.
Fixes #143330
NAS-140119 / 27.0.0-BETA.1 / Enable check_annotations for query/get_instance on generic CRUDServices (#18351)
## Context
Enable check_annotations for query/get_instance methods for generic crud
services. This will be used for future crud services which are being
converted to typesafe implementation.
kernel: Assume s0 (compatibility slice) for any unformatted disk
In commit 8cf8601ebae6a54f01fe9a7aed045832fc6a903b I changed the kernel
to ignore a disk without MBR or GPT, instead of assuming there is the
compatibility slice (s0) covering the whole disk. A later commit
f687b277b90809ae7df59f012ba2c7312b608545 only made a special case
for vn(4) disk because our nrelease procedure uses such a behavior.
This behavior change might cause real trouble for those users that
actually use the compatibility slice. A filesystem previously created
directly on an unformatted disk would disappear and unusable on the new
kernel. What's worse, there is no empty space at the disk beginning to
create a MBR for migration.
This partially reverts commit f687b277b90809ae7df59f012ba2c7312b608545
and brings back the s0 compatibility slice for any disk that doesn't
have a MBR/GPT header (i.e., unformatted disks).
While there, adjust the kernel message to be more descriptive.
[2 lines not shown]
[mlir][bufferization] Fix use-after-free in ownership-based buffer deallocation (#184118)
When `handleInterface(RegionBranchOpInterface)` processes an op such as
`scf.for`, it calls `appendOpResults` to clone the op with extra
ownership result types and erase the original. The `Liveness` analysis
is computed once before the transformation begins and may still
reference the old (now-freed) result values.
If the same block contains a `BranchOpInterface` terminator (e.g.,
`cf.br`) after the structured loop, `handleInterface(BranchOpInterface)`
calls `getMemrefsToRetain`, which iterates `liveness.getLiveOut()`. That
set may contain stale `Value` objects pointing to the erased op's
results. Calling `isMemref()` on such a value dereferences freed memory,
triggering a crash.
Fix by adding a `valueMapping` map to `DeallocationState`. Before
erasing the old op in `handleInterface(RegionBranchOpInterface)`, record
the old-to-new result mapping via `state.mapValue`. The
`getLiveMemrefsIn` and `getMemrefsToRetain` helpers translate stale
[5 lines not shown]
[mlir][Shape] Fix crash in BroadcastOp::fold when operand is ub.poison (#183931)
BroadcastOp::fold used an unchecked llvm::cast<DenseIntElementsAttr> on
each operand's folded attribute. The existing null-check only guarded
against a missing (unset) attribute, not against a non-null attribute of
a different type such as PoisonAttr (produced when an operand is
ub.poison).
Replace the unchecked casts with dyn_cast_or_null, bailing out with
nullptr (i.e. no fold) when any operand does not provide a
DenseIntElementsAttr.
Add a regression test with a ub.poison operand.
Fixes #179679
java/aparapi: deprecate - does not build on java 11 and 17
error:
com.amd.aparapi.jni/build.xml:458: javah does not exist under Java 10 and higher, use the javac task with nativeHeaderDir instead
Approved-by: no maintainer