[SLP] Fix GEP cost computation for load vectorization cost estimates
Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.
Reviewers: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/191728
[ORC] Move MemoryAccess ownership out of ExecutorProcessControl. (#191715)
Similar to the DylibManager change in e55fb5de0f9, this removes an
unnecessary coupling between ExecutorProcessControl and MemoryAccess,
allowing clients to select MemoryAccess implementations independently.
To simplify the transition, the
ExecutorProcessControl::createDefaultMemoryAccess method will return an
instance of whatever MemoryAccess the ExecutorProcessControl
implementation had been using previously.
kakoune: update to 2026.04.12.
Provided by Diogo in PR 60186.
== Kakoune 2026.04.12
* `finaleol` option to support writing files that do not end with an final
end-of-line byte
* `FocusIn`/`FocusOut` events on suspend
* `%val{buffile}` is now empty for scratch buffers
* Reworked Json UI draw_status call to give UI implementation more control,
added cursor pos to the draw call and removed the set_cursor call
* `number-lines -full-relative` switch to keep a smaller line number gutter.
* `<a-I>` and `<a-A>` to select nested text objects
[2 lines not shown]
ValueTracking: Handle frexp exp in computeKnownConstantRange
Compute the bounds based on the known exponent range.
Only handles IEEE cases since I don't see an easy way to
get the bounds in general.
Test uses instcombine instead of checking for the range
attribute, since apparently attributor doesn't handle introducing
range attributes from computeConstantRange.
[SLP]Fix dominance failure when value is copyable in one PHI entry but non-copyable in another
When a value is treated as a copyable element in one tree entry and as a
non-copyable element in another, both feeding into PHI nodes, the
scheduler could produce vectorized IR where an instruction does not
dominate all its uses. Bail out of scheduling in tryScheduleBundle when
this conflict is detected to prevent generating broken modules.
Fixes #191714
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/191724