[MLIR][WASM] Introduce full support for raising WASM MLIR to other dialects (#205990)
Following https://github.com/llvm/llvm-project/pull/164562 where
RaiseWasm was introduced.
This PR completes the support for rewriting the currently supported Wasm
MLIR operators to arith, math, cf and memref.
---------
Co-authored-by: Ferdinand Lemaire <ferdinand.lemaire at woven-planet.global>
[CoroElide] Remove restriction that the ramp function be inlined (#211163)
This restriction dates back to the initial implementation of CoroElide
support
(https://github.com/llvm/llvm-project/commit/dce9b026773160769625a4809bf2dfbf4e636ef1),
but the rationale for treating ramp functions specially seems unclear
and lacks test coverage.
This patch proposes that we drop the restriction and enable more
optimization opportunities. This also fixed the repro in #148380, but
the root cause remains unresolved.
[LLVM][CodeGen][SVE] Lower to multivector stores (#207397)
Lowers unpredicated stores of scalable vectors that are two or four
times the width of a legal SVE type to multi-vector operations when
subregister liveness is enabled instead of splitting them.
This matches the existing approach for multi-vector load lowering.
Various small changes
* Fixed issue with lowering v8bf16 -> v8i32 when using 256b SVE (as that would otherwise go down a legalisation route specifically added for 128b NEON).
* Removed unnecessary condition for `SrcVT != MVT::nxv2f32` in CanHandleNatively, as this no longer applies.
* Renamed `tryLowerFPToIntToSVE` -> `LowerFPToIntToSVE`
* Moved bail out for saturating narrowing converts (fixed-length SVE) to `LowerFixedLengthFPToIntToSVE`
[lldb] Fix SymbolFilePDBTests after FileSpec change f9b5264523b1 (#208425)
GetDirectory() returns a StringRef now which doesn't convert to bool
implicitly
[GVN] Fix PHITransAddr crash scanning cross-function cast users (#211169)
When PHI-translating a load address through a select of module-level
constant expressions, the folded side becomes a global constant whose
use-list spans multiple functions. Scanning that use-list for an
available cast could return a cast from another function, which then
made DominatorTree::dominates() query a block from a different function
and trip an assertion.
This patch restricts the search to casts in the current function,
matching the existing guards on the GEP and add paths.
Fixes #211034
[flang][Lower][OpenMP] Fix reduction on array sections aborting in lowering (#209701)
**Summary**
This regression was introduced by #196094, which added a special
lowering path for reductions on a single array element, such as `a(2)`.
The problem is that Flang also treated an array section like `a(2:96)`
as if it were a single element. Because of this, the section was sent to
a code path that only supports scalar elements.
That path produced an array type that the reduction initialization code
could not handle, so Flang reached a `TODO` and aborted with a “not yet
implemented” error.
**Fix**
The fix is to use the special element path only when the expression has
[12 lines not shown]
[flang-rt] enable IsNamelistNameOrSlash lookahead for scalar namelist items
Problem
-------
An empty NAMELIST assignment on a scalar item — e.g. `l =` in
&nml l= i_count=7 r_value=2.72/
— aborted at runtime with
fatal Fortran runtime error: Bad character 'i' in LOGICAL input field
Every EditIntegerInput / EditRealInput / EditLogicalInput /
EditCharacterInput function starts its list-directed arm with
if (IsNamelistNameOrSlash(io)) return false; // no value
which peeks ahead (via SavedPosition, no stream consumption) for a
`<name>=` / `<name>%` / `<name>(` shape or one of the terminators
[21 lines not shown]
mvc: create runInterfaceRegistation and use it from all required spots
1. Fix the stale cache after applying new interfaces/devices in existing paths
2. Allow to call it from controllers who do not use invokeInterfaceRegistration()
Needs to be patched into Device apply/reconfigures next.
interfaces: patch runInterfaceRegistration() into device applies
Note that configure should run before registration in order to pick up
additional runtime information in the assignment list cache (if applicable).
authpf(8) read_config() should chop off trailing white space
if administrator mistakenly types into configuration file
anchor=authpf_test
where 'authpf_test' is followed by white space, the authpf(8)
is going to use anchor 'authpf_test ' instead of the 'authpf_test'
which is defined in pf.conf(5) as 'anchor authpf_test/*'
issue kindly reported and patch submitted by
Avinash Duduskar <avinash.duduskar (_at_) gmail (_dot_) com>
OK sashan@
PR: 296958
MFC after: 1 week
Obtained from: OpenBSD, sashan <sashan at openbsd.org>, 2d12a8e44d
Sponsored by: Rubicon Communications, LLC ("Netgate")
[AMDGPU] Make libc build backwards compatible (triple)
https://github.com/llvm/llvm-project/pull/210032 updated the triple but
did not introduce backwards compatibility, leading to, e.g., failing
check-offload tests due to missing libc.